W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
僅從最新的可觀察序列將高階可觀察值轉(zhuǎn)換為一階可觀察值
switchAll<T>(): OperatorFunction
<ObservableInput
<T>, T>
沒(méi)有參數(shù)。
OperatorFunction<ObservableInput<T>, T>
展平可觀察的事物。
switchAll
訂閱可觀察的可觀測(cè)對(duì)象的源,也稱為“高階可觀察對(duì)象”(或Observable<Observable<T>>
)。它訂閱源發(fā)出的最新提供的“內(nèi)部可觀察的”,取消訂閱任何以前訂閱的內(nèi)部可觀察的,因此在任何時(shí)間點(diǎn)只能訂閱最新的內(nèi)部可觀察的。switchAll
僅當(dāng)源可觀察對(duì)象完成并且當(dāng)前訂閱內(nèi)部可觀察對(duì)象的任何對(duì)象(如果有)也已完成時(shí),返回的結(jié)果可觀察對(duì)象將完成。
為每個(gè)點(diǎn)擊事件產(chǎn)生一個(gè)可觀察到的新間隔,但是對(duì)于每個(gè)新點(diǎn)擊,取消前一個(gè)間隔并訂閱新間隔。
import { fromEvent, interval } from 'rxjs';
import { switchAll, map, tap } from 'rxjs/operators';
const clicks = fromEvent(document, 'click').pipe(tap(() => console.log('click')));
const source = clicks.pipe(map((ev) => interval(1000)));
source.pipe(
switchAll()
).subscribe(x => console.log(x));
// Output
// click
// 1
// 2
// 3
// 4
// ...
// click
// 1
// 2
// 3
// ...
// click
// ...
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: