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.
看個例子:
源代碼:
輸出: