且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

rxjs switchMap的实现原理

更新时间:2022-09-12 14:50:37

switchMap相关文章

rxjs里switchMap operators的用法

通过rxjs的一个例子, 来学习SwitchMap的使用方法

rxjs switchMap的实现原理

rxjs的map和switchMap在SAP Spartacus中的应用 -将高阶Observable进行flatten操作

SwitchMap can cancel in-flight network requests.


先引用rxjs官网对SwitchMap的介绍:


rxjs switchMap的实现原理每次emission,之前的inner Observable会被cancel,新的Observable会被subscribe.


可以使用"switch to a new Observable"的方法来帮助记忆switchMap的这一特性。


Typeheads

This works perfectly for scenarios like typeaheads where you are no longer concerned with the response of the previous request when a new input arrives.


This also is a safe option in situations where a long lived inner observable could cause memory leaks, for instance if you used mergeMap with an interval and forgot to properly dispose of inner subscriptions. -


Remember, switchMap maintains only one inner subscription at a time, this can be seen clearly in the first example.


Be careful though, you probably want to avoid switchMap in scenarios where every request needs to complete, think writes to a database. switchMap could cancel a request if the source emits quickly enough. In these scenarios mergeMap is the correct option.


看个例子:


源代码:


rxjs switchMap的实现原理输出:rxjs switchMap的实现原理rxjs switchMap的实现原理rxjs switchMap的实现原理rxjs switchMap的实现原理rxjs switchMap的实现原理rxjs switchMap的实现原理rxjs switchMap的实现原理rxjs switchMap的实现原理