我试图在一个observable完成后实现一个简单的回调,这是我的代码:
ngOnInit() { this.propertyService .getProperties() .subscribe( (data: ContentPropertyModel[]) => this.properties = data ); this.status = 'active'; }
但是,在observable运行之前状态会发生变化.关于如何在观察到运行后改变this.status的任何想法?
解决方法
订阅包含三个参数(OnNext函数,错误函数,完成函数).
如果要在收到每个项目后运行代码以运行,则在第一个函数参数中进行编码.如果要在流完成后运行,则在最后一个函数参数中进行编码.
ngOnInit() { this.propertyService .getProperties() .subscribe( (data: ContentPropertyModel[]) => { this.properties = data },(err) => console.log(err),() => this.status = 'active' ); }
请参阅此链接http://reactivex.io/documentation/observable.html.
onError()和Completed()函数也不适用于DOM事件.