从 Angular 中的服务器检索数据如果尝试使用 Observable 可能会导致未定义的初始值
@Injectable() export class EventService { ... getEventList(): Observable<any> { ... return this.http.get(...).map(...).catch(...); } }
export class EventComponent { myEvents: any; ngOnInit() { this.es.getEventList().subscribe((response) => { this.myEvents = response; }); console.log(this.myEvents); // Initially undefined } }
HTTP 请求是异步的,意味着 console.log( this.myEvents) 行在响应之前执行
仅在响应到达后使用订阅回调处理响应。
ngOnInit() { this.es.getEventList().subscribe((response) => { this.myEvents = response; console.log(this.myEvents); // Not undefined }); }
以上是如何处理 Angular 中可观察对象的异步响应?的详细内容。更多信息请关注PHP中文网其他相关文章!