我有一个问题,如何在复杂的情况下组合 2 个可观察对象。我给你看代码如下:
所以我有 2 个 Observables:
1: this.loadingState : Observable
2: currentData : Observable
所以 loadingState 将返回加载数据的状态,要么一切正常,要么出错。 在我的例子中,我将首先检查 loadingState,如果一切正常,如果没有,将返回到错误页面。如果一切正常,那么我将通过管道传输到 currentData 并检查 currentData。
我的第一个代码如下,但它不工作
this.loadingState.pipe(
map((loadingState) => { // operator function 1
if(loadingState.error){
// then return something.
}
}),
() => { // operator function 2
this.currentData.pipe(
map((currentData) => {
// here will check current, also return something.
})
);
}
);
第一个问题是: 第一个map loadingState 不是所有代码路径都返回一个值。 我的想法是,如果 loadingState.error 为真,运算符函数 2 将不会执行。
我也用谷歌搜索了一些解决方案,例如 combineLatest 或 forkjson,它也可能不起作用。
也许你有一些解决办法
最好的谢谢