Suscribirse a un observable anidado
Tengo una aplicación que realiza una solicitud http para obtener una lista de elementos y luego realiza una solicitud http para cada elemento de la lista para obtener información más detallada sobre cada elemento. Eficazmente:
class ItemsService {
fetchItems() {
return this.http.get(url)
.map(res => res.json())
.map(items => items.map(this.fetchItem(item)));
}
fetchItem(item: Item) {
this.http.get(`${url}/${item.id}`)
.map(res => res.json());
}
}
Entonces haré algo comoitemsService.fetchItems().subscribe(items => console.log(items))
pero lo que termina sucediendo es que obtengo una variedad de observables (cada respuesta defetchItem
) Necesito suscribirme a cada uno de los observables internos también para que elfetchItem
solicitud realmente se activa.
También he intentado usarflatMap
en lugar de mapa pero parece tener el mismo resultado en este caso. ¿Hay alguna forma de suscribirse al observable anidado?