Spec-Zone.ru › RxJS

find

function stable operator

Выпускает только первое значение, испускаемое исходной Observable, которое соответствует некоторому условию.

find<T>(predicate: (value: T, index: number, source: Observable<T>) => boolean, thisArg?: any): OperatorFunction<T, T | undefined>

Параметры

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

Функция, вызываемая с каждым элементом для проверки соответствия условию.

thisArg any

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

Необязательный аргумент для определения значения this в функции predicate.

Возвращает

OperatorFunction<T, T | undefined>: функция, которая возвращает Observable, испускающую первый элемент, соответствующий условию.

Описание

Находит первое значение, которое проходит тест, и испускает его.

find marble diagram

Функция `find` ищет первый элемент в исходной Observable, который соответствует заданному условию, заданному в predicate, и возвращает первую встреченную запись в источнике. В отличие от first, в `find` аргумент условия обязателен find, и функция не испускает ошибку, если не найдено подходящее значение (вместо этого испускается undefined).

Пример

Поиск и испускание первого клика, происходящего по элементу DIV

import { fromEvent, find } from 'rxjs';

const div = document.createElement('div');
div.style.cssText = 'width: 200px; height: 200px; background: #09c;';
document.body.appendChild(div);

const clicks = fromEvent(document, 'click');
const result = clicks.pipe(find(ev => (<HTMLElement>ev.target).tagName === 'DIV'));
result.subscribe(x => console.log(x));

Перегрузки

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

Параметры

predicate BooleanConstructor

Возвращает

OperatorFunction<T, TruthyTypesOf<T>>

find(predicate: (this: A, value: T, index: number, source: Observable<T>) => value is S, thisArg: A): OperatorFunction<T, S | undefined>

Параметры

predicate (this: A, value: T, index: number, source: Observable<T>) => value is S
thisArg A

Возвращает

OperatorFunction<T, S | undefined>

find(predicate: (value: T, index: number, source: Observable<T>) => value is S): OperatorFunction<T, S | undefined>

Параметры

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

Возвращает

OperatorFunction<T, S | undefined>

find(predicate: (this: A, value: T, index: number, source: Observable<T>) => boolean, thisArg: A): OperatorFunction<T, T | undefined>

Параметры

predicate (this: A, value: T, index: number, source: Observable<T>) => boolean
thisArg A

Возвращает

OperatorFunction<T, T | undefined>

find(predicate: (value: T, index: number, source: Observable<T>) => boolean): OperatorFunction<T, T | undefined>

Параметры

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

Возвращает

OperatorFunction<T, T | undefined>

См. также

  • filter
  • first
  • findIndex
  • take

© 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/find

Spec-Zone.ru

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