ngrx总结了observable.from()结果

时间:2017-11-07 17:32:17

标签: observable ngrx

我遇到了observable.from()的问题。 我有一个ID数组,我需要执行异步操作并返回一个值。

我希望在所有ID完成内部异步操作后,将所有这些值一起获取(不是一个一个)。

这是我的代码:

Observable.from(IDs)
        .mergeMap(ID=> this.getDataByID(ID)
          .map(data => Observable.of(Object.assign({}, data, dataUpdate[ID]))))
        .subscribe(newData=> {
          ...
        })

dataUpdate是一个来自此范围之外的对象,它包含我想要附加到getDataByID()获取的对象的数据。

在这种情况下,为每个事件ID调用了订阅者,newData只包含一个ID的数据。

我可以让newData保存所有数据的对象/数组而不是一个一个吗?

感谢。

1 个答案:

答案 0 :(得分:0)

在这种情况下,您将需要使用另一个RxJS运算符,例如forkjoin http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#static-method-forkJoin

你也可以看看这个 Multiple ajax call in angular2