Конечно, concat
- правильная функция создания для этой работы.Передается список наблюдаемых и завершается их по порядку, один за другим.В случае сбоя любого из них отправляется уведомление об ошибке, которое можно обработать с помощью функции subscribe
.Цепочка завершается сразу после ошибки, предотвращая запуск последующих вызовов Ajax.
Пример может выглядеть следующим образом:
concat(...urls.map(
url => this.http.get(url))
).subscribe(
next => console.log("An Ajax call has finished"),
error => console.log("An Ajax call has gone wrong :-( "),
complete => console.log("Done with all Ajax calls")
)
Документация для concat
читает:
Создает выходной наблюдаемый объект, который последовательно генерирует все значения из данного наблюдаемого, а затем переходит к следующему.