W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
僅從最新的可觀察序列將高階可觀察值轉(zhuǎn)換為一階可觀察值
switchAll<T>(): OperatorFunction
<ObservableInput
<T>, T>
沒有參數(shù)。
OperatorFunction<ObservableInput<T>, T>
展平可觀察的事物。
switchAll
訂閱可觀察的可觀測對象的源,也稱為“高階可觀察對象”(或Observable<Observable<T>>
)。它訂閱源發(fā)出的最新提供的“內(nèi)部可觀察的”,取消訂閱任何以前訂閱的內(nèi)部可觀察的,因此在任何時間點(diǎn)只能訂閱最新的內(nèi)部可觀察的。switchAll
僅當(dāng)源可觀察對象完成并且當(dāng)前訂閱內(nèi)部可觀察對象的任何對象(如果有)也已完成時,返回的結(jié)果可觀察對象將完成。
為每個點(diǎn)擊事件產(chǎn)生一個可觀察到的新間隔,但是對于每個新點(diǎn)擊,取消前一個間隔并訂閱新間隔。
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號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: