在多个服务调用上使用 combineLatest 时处理错误
Handling errors when using combineLatest on several service calls
使用以下代码(取自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()
链的末尾,对吗?
这个问题类似于 ,但有点不同,因为我没有 .subscribe()
调用这里。
这完全取决于所需的行为。假设您要取 3 只动物来展示。当一个失败时你希望发生什么?
- 不展示任何动物。 -> 在末尾添加一个
catch
- 显示其他动物。 -> 添加
catch
到每个数据调用。
使用以下代码(取自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()
链的末尾,对吗?
这个问题类似于 .subscribe()
调用这里。
这完全取决于所需的行为。假设您要取 3 只动物来展示。当一个失败时你希望发生什么?
- 不展示任何动物。 -> 在末尾添加一个
catch
- 显示其他动物。 -> 添加
catch
到每个数据调用。