this.pokojeService.pobierzPokoje().subscribe(pokoje => {
this.pokoje = pokoje;
});
this.pokojeService.pobierzTypyPokoi().subscribe(pokojeTypy => {
this.pokojeTypy = pokojeTypy;
});
这些是我的2个可观察者。
我想迭代pokoje和pokojetypy,但如果其中一个返回错误,而不是数据呢?
我想阻止它并检查它们是否都成功返回数据
答案 0 :(得分:-1)
const obs1$ = this.pokojeService.pobierzPokoje()
obs1$.catch((e: any) => Observable.throw(this.errorHandler(e)))
const obs2$ = this.pokojeService.pobierzTypyPokoi()
obs2$.catch((e: any) => Observable.throw(this.errorHandler(e)))
Observable.zip(obs1$,obs2$).subscribe(res=>{
if(res[0] && res[1]){
do Something...
}
})
您可以过滤响应而不是捕获错误,您可以根据需要转换数据。使用obs1 $ .map(data => ....)如果没有数据或w / e,请确保返回false,这应该回答你的问题