W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
返回一個 Observable,它跳過源 Observable 發(fā)出的項目,直到第二個 Observable 發(fā)出一項為止。
skipUntil<T>(notifier: Observable
<any>):MonoTypeOperatorFunction
<T>
通知者 | 第二個 Observable 必須在源 Observable 的元素開始被生成的 Observable 鏡像之前發(fā)射一個項目。 |
---|---|
MonoTypeOperatorFunction<T>
:一個 Observable,它從源 Observable 跳過項目,直到第二個 Observable 發(fā)射一個項目,然后發(fā)射其余項目。
在skipUntil
操作者使可觀察到的流,以跳過值的發(fā)射,直至通過在可觀察到的發(fā)射的第一個值。與用戶交互, http 請求的響應(yīng)或等待特定時間一起使用時,此功能特別有用。
在內(nèi)部,skipUntil
運算符訂閱傳入的 observable(在以下稱為 notifier),以便識別其第一個值的發(fā)出。發(fā)生這種情況時,操作員將退訂通知者,并開始發(fā)出 可觀察到的源值。如果通知程序完成或引發(fā)錯誤而之前未發(fā)出任何值,則它將永遠不會讓源可觀察的源發(fā)出任何值。
在以下示例中,將跳過所有可觀察到的時間間隔的發(fā)射值,直到用戶單擊頁面中的任何位置為止。
import { interval, fromEvent } from 'rxjs';
import { skipUntil } from 'rxjs/operators';
const intervalObservable = interval(1000);
const click = fromEvent(document, 'click');
const emitAfterClick = intervalObservable.pipe(
skipUntil(click)
);
// clicked at 4.6s. output: 5...6...7...8........ or
// clicked at 7.3s. output: 8...9...10..11.......
const subscribe = emitAfterClick.subscribe(value => console.log(value));
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: