Я использую угловые 5 и rxjs.Я делаю 2 сервисных звонка, один зависит от других результатов.Я делаю это с помощью flatMap.Я также хочу сделать некоторые операции после того, как оба вызова API были сделаны.Я использую finalize для этого.Мой код выглядит следующим образом:
this.myservice.api1(param1).pipe(takeUntil(this.destroyed$), finalize(() => {
//do something after both api calls are completed
},
flatMap((result1) => {
//do some operation and create object x(this.objx)
return this.myservice.api2(param1);
})
).subscribe((result2) => {
//do something based on result2 and this.objx
})
Блок finalize, однако, выполняется только после первого вызова API.С одним вызовом API выполняется финализация, но с flatMap он выполняется только после первого вызова API.Пожалуйста, дайте мне знать, если я что-то ошибаюсь.