BACK
ReferenceforkJoin
Reference · 26

forkJoin

Ждёт complete всех источников и эмитит их последние значения.

Сигнатура

forkJoin([a$, b$, ...] | { a: a$, b: b$, ... }): Observable<...>

Маркеры

a:        --1---3|
b:        ----2----4|
result:   -----------[3,4]|

Что делает

Подписывается на все источники. Ждёт complete каждого. Эмитит ровно один массив (или объект) с последними значениями каждого источника, затем сам шлёт complete.

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

Аналог Promise.all для нескольких независимых HTTP-запросов. Загрузка набора справочных данных при старте экрана.

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

Если хотя бы один источник не завершится — forkJoin не эмитит никогда. Subjects/interval без take не подходят. Если один источник ошибётся — упадёт весь forkJoin.

См. также

combineLatest, zip, concat

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