使用以下代码(取自ngrx/store中的@Effect())
.switchMap(({token, param1, param2}) => {
return Observable.combineLatest(
this.service.getData2(token, param1),
this.service.getData2(token, param2),
this.service.getData3(token),
);
})
捕获错误的最简洁且正确的模式是什么?
.catch 是否应该跟随每个 getData*
调用?我们不希望 .catch()
位于主 @Effect()
链的末尾,是吗?
问题类似于this one ,但有点不同,因为我在这里没有调用 .subscribe()
。
最佳答案
这完全取决于所需的行为。假设您正在获取要展示的 3 只动物。当一个人失败时你希望发生什么?
- 请勿展示任何动物。 -> 在末尾添加一个
catch
- 显示其他动物。 -> 在每个数据调用中添加
catch
。
关于rxjs - 在多个服务调用上使用combineLatest时处理错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43660497/