【发布时间】:2021-02-14 03:06:37
【问题描述】:
我从对象和图像中获取数据,代码如下:
this.getObjects(id)
.subscribe(param => param.results.map(r=> this.getImmagesByObjectId(r.id)
.subscribe(data=>console.log(data, param))))
正如你所见,我首先获取对象和内部 observable 根据对象 id,我获取对象图像。
我尝试防止嵌套订阅,为此我尝试使用合并所有运算符:
this.getObjects(id).pipe(mergeMap
(param => param.results.map(r=> this.getImmagesByObjectId(r.id))
.subscribe(data=>console.log(data, param))))
但是上面的代码不起作用。
我的问题是如何从服务器获取对象和图像并防止嵌套订阅?
更新:
这里是 GetObjects 的实现,你可以看到它返回 observable:
getObjects(Id: string): Observable<Response<MyObjects[]>> {
return this.clientObjects.get<Response<MyObjects[]>>(environment.baseUrl + '/main/myobjects/byobjid', {
params: {
id: Id
}
});
}
【问题讨论】:
标签: typescript rxjs angular2-observables