Spec-Zone.ru › RxJS

takeWhile

function stable operator

Выпускает значения, испускаемые исходным Observable, до тех пор, пока каждое значение удовлетворяет заданному predicate, а затем завершается, как только это predicate больше не удовлетворяется.

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

Параметры

predicate (value: T, index: number) => boolean

Функция, которая оценивает значение, испускаемое исходным Observable, и возвращает логическое значение. Также принимает индекс (с нуля) в качестве второго аргумента.

inclusive boolean

Необязательно. По умолчанию false.

Если установлено в true, значение, которое заставило predicate вернуть false, также будет выпущено.

Возвращает

MonoTypeOperatorFunction<T>: Функция, возвращающая Observable, которая испускает значения из исходного Observable до тех пор, пока каждое значение удовлетворяет условию, определенному predicate, а затем завершается.

Описание

Извлекает значения из источника только пока они удовлетворяют условию. При первом же значении, которое не удовлетворяет условию, завершается.

takeWhile marble diagram

takeWhile подписывается и начинает дублировать исходное Observable. Каждое значение, испускаемое источником, передается функции predicate, которая возвращает логическое значение, представляющее условие, которое должны удовлетворять значения источника. Выходное Observable испускает значения источника до тех пор, пока predicate не вернёт false, в этот момент takeWhile прекращает дублирование исходного Observable и завершает выходное Observable.

Пример

Выпускает события кликов только когда свойство clientX больше 200

import { fromEvent, takeWhile } from 'rxjs';

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

Перегрузки

takeWhile(predicate: BooleanConstructor, inclusive: true): MonoTypeOperatorFunction<T>

Параметры

predicate BooleanConstructor
inclusive true

Возвращает

MonoTypeOperatorFunction<T>

takeWhile(predicate: BooleanConstructor, inclusive: false): OperatorFunction<T, TruthyTypesOf<T>>

Параметры

predicate BooleanConstructor
inclusive false

Возвращает

OperatorFunction<T, TruthyTypesOf<T>>

takeWhile(predicate: BooleanConstructor): OperatorFunction<T, TruthyTypesOf<T>>

Параметры

predicate BooleanConstructor

Возвращает

OperatorFunction<T, TruthyTypesOf<T>>

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

Параметры

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

Возвращает

OperatorFunction<T, S>

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

Параметры

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

Возвращает

OperatorFunction<T, S>

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

Параметры

predicate (value: T, index: number) => boolean
inclusive boolean

Необязательно. По умолчанию undefined.

Возвращает

MonoTypeOperatorFunction<T>

См. также

  • take
  • takeLast
  • takeUntil
  • skip

© 2015–2022 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors.
Code licensed under an Apache-2.0 License. Documentation licensed under CC BY 4.0.
https://rxjs.dev/api/operators/takeWhile

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API