Я пытаюсь сделать серию XHR GET на основе результатов первоначального запроса. У меня есть массив наблюдаемых вторичных запросов, которые я хочу сделать, и я могу использовать Array.map для итерации по ним и последовательно подписываться для регистрации всех возвращаемых значений, но я не могу понять, как отформатировать их в сплюснутую наблюдаемую что я могу распечатать на экране, используя единственную подписку async
трубы:
ngOnInit() {
// initial request - returns data on a planet
this.planet$ = this.starWarsService.getEntityById("planets", "1");
this.residentData$ = this.planet$.pipe(
map(planets =>
planets.residents.map(planet =>
// get character data for each resident, `split` just grabs the index to construct the URL
this.starWarsService.getEntityById("people", planet.split("/")[5])
)
),
tap(results => {
results.map(result => {
result.subscribe(data => {
// this prints resident/character data correctly
console.log("data", data);
});
});
})
);
}
Как я могу развернуть этот массив наблюдаемых объектов во что-то, что можно распаковать с помощью одной async
трубы?
StackBlitz