日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/19 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通过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的使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。