RxJS FlatMap和ConcatMap中间解决方案?

时间:2018-12-20 19:04:38

标签: typescript dictionary rxjs flatmap concatmap

我有一个使用rxjs用typescript编写的应用程序,其中im使用flatMap返回5000个可观察对象的列表,但我不希望同时订阅所有这些对象。

我尝试使用concatMap,但是它使我的应用程序非常慢,因为它按顺序依次处理。

我很想创建一个由10个订阅组成的池,当一个池终止时另一个池开始,这将同时保持10个订阅处于活动状态。

我想我可以为此创建一个手动控件,但是我很想知道是否可以使用其他类型的地图或策略来找到更好的方法。

1 个答案:

答案 0 :(得分:3)

@cartant的技巧可以帮助我找到解决方案,对于下面的代码,您可以使用flatMap或mergeMap,因为它们是相同的。

this.service.getData(id).flatMap(data => {
  return Observable.of(data);
}, 10).do(value => {
  console.log(value);
})

此代码仅用于传递有关如何使用flatMap / mergeMap的并发参数的想法。数字10是并发参数。