BACK
Referencefirst
Reference · 20

first

Эмитит первое значение (опционально подходящее под предикат) и завершает.

Сигнатура

first(predicate?: (v: T, i: number) => boolean, defaultValue?: T): OperatorFunction

Маркеры

in:           --1--2--3--|
first(>1):       -----2|

Что делает

Без аргументов — то же, что take(1). С predicate — берёт первое значение, удовлетворяющее условию. Если поток завершился без подходящего значения — кидает EmptyError (или эмитит default, если задан).

Когда использовать

Получить первый клик, дождаться появления элемента в потоке, получить первый успешный ответ. Когда нужна строгая семантика «иначе ошибка», предпочтительнее take(1).

Подводный камень

first(predicate) и filter(predicate).pipe(take(1)) различаются: первый кинет EmptyError, второй просто завершится тихо.

См. также

take, last, find

script.ts // TypeScript
CONSOLE · Console Output
Нажмите на запуск, чтобы увидеть результат...