rxjs concatMap与数组

时间:2019-03-20 20:22:22

标签: rxjs

有可观测的高阶观测

const obs1 = interval(1000).pipe(take(5));
const obs2 = interval(500).pipe(take(2));
const obs3 = interval(2000).pipe(take(1));
//emit three observables
const source = of(obs1, obs2, obs3);

如何使用concatMap以便在上一个可观察的对象完成后立即开始下一个。之后将返回Observable的结果数组。需要使用concatMap。

1 个答案:

答案 0 :(得分:1)

您需要使用toArray()来收集所有可观测源的所有排放物。

source.pipe(
  concatMap(observable => observable),
  toArray(),
);