BACK
ReferencecombineLatest
Reference · 25

combineLatest

combineLatest

rxjs.dev

Эмитит массив последних значений всех входов при любом изменении.

Сигнатура

combineLatest([a$, b$, ...]): Observable<[A, B, ...]>

Маркеры

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

Что делает

Подписывается на все источники. Ждёт первого next от каждого. Дальше — на каждое обновление любого источника эмитит массив их последних значений. Завершается, когда завершатся все источники.

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

Слияние состояния: combineLatest([filter$, sort$, page$]) → итоговый view-model. Дашборды, формы с зависимыми полями.

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

Если хотя бы один источник не эмитнёт первое значение — combineLatest никогда не эмитит. Часто решается через startWith.

См. также

forkJoin, withLatestFrom, zip

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