[RxJS] Flatten a higher order observable with mergeAll in RxJS

Posted Answer1215

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[RxJS] Flatten a higher order observable with mergeAll in RxJS相关的知识,希望对你有一定的参考价值。

Among RxJS flattening operators, switch is the most commonly used operator. However, it is important to get acquainted with mergeAll, another flattening operator which allows multiple concurrent inner observables. In this lesson we will explore mergeAll in detail.

 

const clickObservable = Rx.Observable
  .fromEvent(document, click);

const clockObservable = clickObservable
  .map(click => Rx.Observable.interval(1000))
  .mergeAll(3); // allow 3 inner observables

// flattening
// Observable<Observable<number>> ---> Observable<number>

/*
--------+--------+------------------------
        \                 -0-1-2-3 -0-1-2-3-4-5-6
         
         mergeAll
         
----------0-1-2-3-405162738495...
*/

clockObservable
  .subscribe(x => console.log(x));

 

以上是关于[RxJS] Flatten a higher order observable with mergeAll in RxJS的主要内容,如果未能解决你的问题,请参考以下文章

在 RxJS Observable 中“展平”数组的最佳方法

[LeetCode] 374. Guess Number Higher or Lower

[RxJS] Combination operator: withLatestFrom

检测无限递归?

LeetCode 114. Flatten Binary Tree to Linked List

rxjs5.X系列 —— transform api 笔记