我收到一个 HTTP 响应,如果一切顺利,它包含一个数组,编码为 JSON。
我想得到这个数组,过滤掉一些项目,并将传递的项目作为事件处理。
到目前为止我所做的是:
return this._http.get(url)
.map((res:Response) => res.json())
.map((data:any) => {
if (!Array.isArray(data) || data.length == 0) {
throw new Error("No items returned, URL: " + url);
}
let projects = <ProjectModel[]>service.fromJSONarray(data, this._http);
return Observable.from(projects)
.filter((project: ProjectModel) => project.parentProject == null)
.subscribe(project -> ...)
})
但是我不喜欢嵌套。我认为有一种方法可以做到这一点:
return this._http.get(url)
.map((res:Response) => res.json())
.map((data:any) => {
...
let projects = <ProjectModel[]>service.fromJSONarray(data, this._http);
???
})
.filter((project: ProjectModel) => project.parentProject == null)
.subscribe(project -> ...)
如何做到这一点?