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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

rxjs里switchMap operators的用法

發布時間:2023/12/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 rxjs里switchMap operators的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

switchMap相關文章

  • rxjs里switchMap operators的用法
  • 通過rxjs的一個例子, 來學習SwitchMap的使用方法
  • rxjs switchMap的實現原理
  • rxjs的map和switchMap在SAP Spartacus中的應用 -將高階Observable進行flatten操作

Projects each source value to an Observable which is merged in the output Observable, emitting values only from the most recently projected Observable.

理解記憶法:switchMap -> switch to a new Observable,亦即SwitchMap返回的OperatorFunction,其function的輸出是一個新的Observable.

例子:

const switched = of(1, 2, 3).pipe(switchMap((x: number) => of(x, x ** 2, x ** 3)));switched.subscribe(x => console.log(x));

輸出:

/*const switched = of(1, 2, 3).pipe(switchMap((x: number) => of(x, x ** 2, x ** 3)));switched.subscribe(x => console.log(x));*/const origin = of(1, 2, 3);// fn是一個函數,接受一個number輸入,返回一個Observable對象,包含3個number元素const fn = (x: number) => of(x, x ** 2, x ** 3);// OperatorFunction:尖括號里前一個number是輸入類型// 第二個括號是輸出類型const mapper: OperatorFunction<number, number> = switchMap(fn);// pipe需要接受的類型是OperatorFunction,經過operator傳入一個// funcion進去組合而成const switched = origin.pipe(mapper);switched.subscribe(x => console.log('diablo: ' + x));

總結:OperatorFunction的類型很形象,由Operator接收一個function作為輸入,組裝而成

switchMapTo

const origin = of(111, 222, 333);const copy = origin.pipe(map( (x) => x + 1));// observable: ObservableInput<R>const int = interval(1000).pipe(take(3));const fn = (x: number) => of(x, x ** 2, x ** 3);// 需要傳一個Observable進去const mapper = switchMapTo(int);const switched = origin.pipe(mapper);switched.subscribe(x => console.log('diablo2: ' + x));

測試結果:origin里的value完全沒有被考慮:

要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":

總結

以上是生活随笔為你收集整理的rxjs里switchMap operators的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

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