通过rxjs的一个例子, 来学习SwitchMap的使用方法
生活随笔
收集整理的這篇文章主要介紹了
通过rxjs的一个例子, 来学习SwitchMap的使用方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
switchMap相關文章
- rxjs里switchMap operators的用法
- 通過rxjs的一個例子, 來學習SwitchMap的使用方法
- rxjs switchMap的實現原理
- rxjs的map和switchMap在SAP Spartacus中的應用 -將高階Observable進行flatten操作
源代碼:
import { Observable, of, OperatorFunction } from "rxjs"; import { map } from "rxjs/operators"; import { interval } from "rxjs"; import { switchMap } from "rxjs/operators";/* Projects each source value to an Observable which is merged in the output Observable, emitting values only from the most recently projected Observable.switchMap將source value映射成一個新的Observable,這個Observable被output Observable自動merge. 只會從最新的被projected過后的Observable里emit數據 給consumer */const add100 = (counter: number) => {return of(counter + 100); };const addFunctionOperator: OperatorFunction<number, number> = switchMap(add100);const pollTasks = () => {return interval(1000).pipe(addFunctionOperator); };// caller can do subscription and store it as a handle: let tasksSubscription = pollTasks().subscribe(data =>console.log("timestamp: " + new Date() + ": " + data) ); // turn it off at a later timesetTimeout(() => tasksSubscription.unsubscribe(), 3000);由此可見,switchMap操作符接收一個映射函數,該函數的輸入同map操作符一樣,都是number,而map的輸出類型也是number,而switchMap的輸出,是Observable.
switchMap傳入一個函數,輸出一個OperatorFunction, 這稱為函數的operator化。
OperatorFunction才是最后傳入Observable.pipe調用里的參數。
總結
以上是生活随笔為你收集整理的通过rxjs的一个例子, 来学习SwitchMap的使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果和安卓能一起吃鸡吗
- 下一篇: 如何处理SAP Fiori gatewa