【发布时间】:2017-06-07 01:14:18
【问题描述】:
不幸的是,我需要从中检索数据的站点设置方式是,这些数据分布在多个站点(完全相同的数据类型和 JSON 返回格式),但它们位于不同的 URL。它们按 URL 分类,因此我确实需要保留 URL 以便在整个应用程序中进一步对其进行分类。我有以下服务功能,我试图传递一组主题(然后将其传递给 URL),检索数据并返回单个 observable。但是,这没有返回任何内容:
getDataTopicItems(topicArray) {
return this.items = topicArray.forEach((topic, i, topicArray) => {
return this.http.get(this.baseUrl + topic + "/_api/Web/Lists/GetByTitle('What''s New')/items", this.options)
.map(res => res.json())
.map(items => items.d.results)
.do(data => console.log(data))
.concatMap(data => data)
}
)
}
我在组件的模板中订阅它,我通过 *ngFor 和异步管道调用此函数。我做错了什么?
更新:我还尝试了以下方法:
return this.http.get(this.baseUrl + topicArray[0] + this.policyOptions, this.options)
.map(res => res.json())
.map(items => this.policies = items.d.results)
.do(data => console.log(data))
.flatMap((policies) => topicArray.forEach((topic, i, topicArray) => {
if (i < 0) {
this.http.get(this.baseUrl + topic + this.policyOptions)
.map(res => res.json())
.map(items => this.policies = items.d.results)
.do(data => console.log(data))
}
}))
【问题讨论】:
标签: angular typescript rxjs