【发布时间】:2016-10-25 22:39:10
【问题描述】:
我有一个应用程序发出一个 http 请求以获取项目列表,然后对列表中的每个项目发出一个 http 请求以获取有关每个项目的更多详细信息。有效:
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());
}
}
然后我会做类似itemsService.fetchItems().subscribe(items => console.log(items)) 的事情,但最终发生的是我得到了一系列可观察的数据(来自fetchItem 的每个响应)。我还需要订阅每个内部可观察对象,以便真正触发 fetchItem 请求。
我也尝试过使用flatMap 代替地图,但在这种情况下似乎有相同的结果。有没有办法订阅嵌套的 observable?
【问题讨论】:
标签: angular typescript rxjs