Оператор concat лучше всего использовать, когда вам нужно объединить несколько потоков, но вы хотите, чтобы их эмит евентов происходил в определенном порядке, один за другим. Это похоже на сборку пазла, где части должны собираться последовательно, чтобы создать полную картину. Пример этого можно увидеть в реальном сценарии, например, при загрузке и отображении нескольких изображений в правильном порядке, когда вы не хотите, чтобы следующее изображение загружалось, пока текущее не будет полностью загружено.
Помните, что concat начнет выдавать значения из следующего потока только после завершения предыдущего потока. Это означает, что если один из ваших потоков никогда не завершится, последующие потоки никогда не выдадут никаких значений:
concat(
of(1, 2, 3),
of(4, 5, 6), // <= subscribed after first completes
of(7, 8, 9) // <= subscribed after second completes
)
// log => 1, 2, 3, 4, 5, 6, 7, 8, 9
.subscribe(console.log);
Полезные ссылки Link to heading
Marble Diagram - Concat Operator