Ваше объяснение довольно расплывчато, и без примера псевдокода или фактического примера того, что вы пытались сделать, на это трудно ответить.
Но я понимаю, что вам нужно:
API-вызов 1:
{ ids: [1, 2, 3] }
API-вызов 2 принимает идентификатор (api (1), api (2), api (3) и т. Д.) И возвращает:
{ something: 'else', id: 1 }
В RxJS вы хотели бы switchMap
для каждого полученного вами идентификатора, чтобы вы могли переключить подписку на новый Observable.Если вы хотите, чтобы все это вошло, когда они войдут, вы бы это сделали.Если вы хотите, чтобы они входили предсказуемо и по порядку, вы бы concat
их.
Базовый пример:
this.http.get<{id: number[]}>('api1').pipe(
switchMap(ids => {
return concat(ids.forEach(id => {
return this.http.get<{ something: string, id: number}>('api2/' + id)
})
}).subscribe(console.log)