【发布时间】:2020-05-11 04:59:31
【问题描述】:
我需要对 api 进行链式 http 调用。在第一个响应中,我得到了 observable,然后我使用 map 运算符并返回这个结果:
getAreaByKey(key: string): Observable<Area> {
return this.http.get<any[]>(`${this.api}/areas/${key}`).pipe(
map(result => {
return {
'key': result['Key'],
'name': result['Description'],
'experts': result['Experts']
};
})
);
}
然后我需要使用参数result['Experts'] 进行另一个http 调用,该参数是带有ID 的数组。如何将该参数传递给下一次调用?我尝试使用 SwitchMap,但没有结果。以及如何保存此调用的响应数据?因为我需要在我的模板中同时使用这两者。
【问题讨论】:
-
您可以使用我的可观察库中的
withSwitchMap(),其中包含原始值。 github.com/reactgular/observables#withswitchmap -
stackoverflow.com/questions/52317494/…问题的前提不同,但接受的答案是你应该做的