Referencefirst
Reference · 20
first
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
CONSOLE · Console Output
Нажмите на запуск, чтобы увидеть результат...