Skip to content

Latest commit

 

History

History
61 lines (37 loc) · 1.92 KB

first.md

File metadata and controls

61 lines (37 loc) · 1.92 KB

first

Сигнатура

first<T, D>(predicate?: (value: T, index: number, source: Observable<T>) => boolean, defaultValue?: D): OperatorFunction<T, T | D>

Описание

Возвращает первое попавшееся значение в потоке и завершается.

!> Является аналогом выражения take(1) за исключением того, что first выкидывает ошибку EmptyError в случае если поток оказался пустым.

Параметры

  • predicate Опционально

    Функция вызываемая каждый раз при новом значении для проверки условия.

  • defaultValue Опционально

    Если указано значение по умолчанию, в случае если поток пустой, будет использоваться оно, если же не указано выкинет ошибку.

Примеры

Пример 1

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

const clicks = fromEvent(document, 'click');

const result = clicks.pipe(
  first()
);

result.subscribe(x => console.log(x));

Пример 1: Использование predicate

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

const clicks = fromEvent(document, 'click');

const result = clicks.pipe(
  first(ev => ev.target.tagName === 'DIV')
);

result.subscribe(x => console.log(x));

Полезные ссылки