Angular 在FlatMap完成所有请求后执行流程
我在Angular 6中使用RxJsAngular 在FlatMap完成所有请求后执行流程,angular,rxjs,Angular,Rxjs,我在Angular 6中使用RxJs6.1.0,从多个观测值获取数据,如下所示: ngOnInit(){ this.subscribeInit = this.tradingService.getInProgress() .do((s) => { this.keys = s.map((tdi)=> tdi.key); return this.keys; }) .flatMap((key)=>this.tradingService.getTrading
6.1.0
,从多个观测值获取数据,如下所示:
ngOnInit(){
this.subscribeInit = this.tradingService.getInProgress()
.do((s) => {
this.keys = s.map((tdi)=> tdi.key);
return this.keys;
})
.flatMap((key)=>this.tradingService.getTradingData(key))
.subscribe((res)=>{
this.formattedData.push(res);
});
}
我想在所有可观察对象从flatMap
完成执行后执行一个过程,即所有数据被推送到formattedData
请告诉我如何才能做到这一点。谢谢。您只需将
complete
处理程序添加到subscribe()
:
您可以使用所谓的“部分观察者”对象:
您只需将
complete
处理程序添加到subscribe()
:
您可以使用所谓的“部分观察者”对象:
很好,谢谢!您还可以帮助我在flatMap exec期间如何捕获错误并继续处理剩余的请求吗?谢谢!您能否帮助我在flatMap exec期间如何捕获错误并继续处理剩余的请求?
...
.subscribe(
res => ...,
undefined,
() => /* completed */
)
...
.subscribe({
next: res => ...,
complete: () => /* completed */,
})