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?

Respuestas a la pregunta(3)

Su respuesta a la pregunta