首页 > 解决方案 > Ngrx,Rxjs - 合并可观察的流返回一个新的流

问题描述

我正在尝试加入两个可观察的流来创建一个我也可以订阅的新流。两个输入流都返回对象数组。我尝试使用 forkJoin 运算符,后跟一个管道图并像这样订阅:

forkJoin(
  this.firstObservable$,
  this.secondObservable$
).pipe(
  map(([first, second]) => {
    // here create a new array array = [] and push new Object { first.something, second.something
    // return newArray
  }
  })
).subscribe((data: any) => {
  this.data = data;
});

但这似乎没有按预期工作。我也用水龙头试过这个。什么是正确的方法?

标签: angulartypescriptrxjsngrx

解决方案


ForkJoin 本身返回一个 observable,你可以订阅它

forkJoin([
  this.firstObservable$,
  this.secondObservable$
]).subscribe(res => {
    //res[0] is the result emitted for the first observable
});

你不需要使用map来尝试合并它们


推荐阅读