Вместо map
вы можете сделать switchMap
с forkJoin
:
this.http.get(`${this.apiUrl}/cinemas/location/cardiff`).pipe(
map((data: any) => data.cinemas),
switchMap((cinemas) => forkJoin(cinemas.map(value => <Observable<any>>this.http.get(`https://api.cinelist.co.uk/get/cinema/${value.id}`));
}))
).subscribe(results => {
console.log(results);
});
Если вы хотите сохранить значение, вы можете попробовать что-то вроде этого:
this.http.get(`${this.apiUrl}/cinemas/location/cardiff`).pipe(
map((data: any) => data.cinemas),
switchMap((cinemas) => forkJoin(cinemas.map(value => <Observable<any>>this.http.get(`https://api.cinelist.co.uk/get/cinema/${value.id}`))
.pipe(map(cinema => {...cinema,value}))
}))
).subscribe(results => {
console.log(results);
});