[RxJS] Flatten a higher order observable with concatAll in RxJS
Besides switch and mergeAll, RxJS also provides concatAll as a flattening operator. In this lesson we will see how concatAll handles concurrent inner Observables and how it is just mergeAll(1).
const clickObservable = Rx.Observable .fromEvent(document, 'click'); const clockObservable = clickObservable .map(click => Rx.Observable.interval(1000).take(5)) .concatAll(); // the same as .mergeAll(1) // flattening // Observable<Observable<number>> ---> Observable<number> /* --------+--------------+-+---- \ -0-1-2-3-4| concatAll ----------0-1-2-3-4-----0-1-2-3-4--0-1-2-3-4 */ clockObservable .subscribe(x => console.log(x));
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步