RxJS takeWhile

2020-10-14 10:39 更新

只要每個值滿足給定值,就發(fā)出源 Observable 發(fā)出的值predicate,然后在predicate不滿足要求時立即完成。

takeWhile<T>(predicate: (value: T, index: number) => boolean, inclusive: boolean = false): MonoTypeOperatorFunction<T>

參量

謂詞 評估源 Observable 發(fā)出的值并返回布爾值的函數(shù)。也將(從零開始)索引作為第二個參數(shù)。
Included 可選的。默認(rèn)值為false。當(dāng)設(shè)置為true導(dǎo)致predicate返回的值時, false也會發(fā)出。

returns

MonoTypeOperatorFunction<T>:一個 Observable,它從源 Observable 發(fā)出值,只要每個值都滿足定義的條件 predicate,然后完成。

描述

僅在它們通過給定條件時才從源中獲取值。當(dāng)?shù)谝粋€值不滿足時,它完成。

大理石圖

takeWhile訂閱并開始鏡像源 Observable。源上發(fā)出的每個值都被提供給predicate函數(shù),該函數(shù)返回一個布爾值,表示源值要滿足的條件。輸出 Observable 會發(fā)出源值,直到predicate 返回false為止,此時將takeWhile停止鏡像源 Observable 并完成輸出 Observable。

僅當(dāng) clientX 屬性大于 200 時才發(fā)出點擊事件

import { fromEvent } from 'rxjs';
import { takeWhile } from 'rxjs/operators';


const clicks = fromEvent(document, 'click');
const result = clicks.pipe(takeWhile(ev => ev.clientX > 200));
result.subscribe(x => console.log(x));

超載

takeWhile(predicate: (value: T, index: number) => value is S): OperatorFunction<T, S>

參量 類型
謂詞 類型:(value: T, index: number) => value is S

returnsOperatorFunction<T, S>

takeWhile(predicate: (value: T, index: number) => value is S, inclusive: false): OperatorFunction<T, S>

參量 類型
謂詞 類型:(value: T, index: number) => value is S
包括的 類型:false

returnsOperatorFunction<T, S>

takeWhile(predicate: (value: T, index: number) => boolean, inclusive?: boolean): MonoTypeOperatorFunction<T>

參量 類型
謂詞 類型:(value: T, index: number) => boolean
包括的 可選的。默認(rèn)值為undefined 類型:boolean

returnsMonoTypeOperatorFunction<T> |

也可以看看

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號