switchMap相关文章
rxjs里switchMap operators的用法
通过rxjs的一个例子, 来学习SwitchMap的使用方法
rxjs switchMap的实现原理
rxjs的map和switchMap在SAP Spartacus中的应用 -将高阶Observable进行flatten操作
SwitchMap can cancel in-flight network requests.
先引用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.
看个例子:
源代码:
输出: