RxJS takeWhile

2020-10-14 10:39 更新

只要每个值满足给定值,就发出源 Observable 发出的值predicate,然后在predicate不满足要求时立即完成。

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

参量

谓词 评估源 Observable 发出的值并返回布尔值的函数。也将(从零开始)索引作为第二个参数。
Included 可选的。默认值为false。当设置为true导致predicate返回的值时, false也会发出。

returns

MonoTypeOperatorFunction<T>:一个 Observable,它从源 Observable 发出值,只要每个值都满足定义的条件 predicate,然后完成。

描述

仅在它们通过给定条件时才从源中获取值。当第一个值不满足时,它完成。

大理石图

takeWhile订阅并开始镜像源 Observable。源上发出的每个值都被提供给predicate函数,该函数返回一个布尔值,表示源值要满足的条件。输出 Observable 会发出源值,直到predicate 返回false为止,此时将takeWhile停止镜像源 Observable 并完成输出 Observable。

仅当 clientX 属性大于 200 时才发出点击事件

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
包括的 可选的。默认值为undefined 类型:boolean

returnsMonoTypeOperatorFunction<T> |

也可以看看

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号