如何在角度应用程序中组合 2 个 Observable

问题描述 投票:0回答:0

我有一个问题,如何在复杂的情况下组合 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,它也可能不起作用。

也许你有一些解决办法

最好的谢谢

angular pipe observable fork-join combinelatest
© www.soinside.com 2019 - 2024. All rights reserved.