可能是一个基本问题,但我有一个 Angular 应用程序,它调用后端服务来检索一些数据,然后使用该数据进行另一个后端服务调用。
第二个服务调用依赖于第一个成功完成,所以我使用了 RxJS 的 concatMap() 函数。
但是,我下面的代码仅返回第二次服务调用的数据。我需要从两个服务调用返回的所有数据。
有一种感觉,我搞砸了 .pipe 调用,但没有取得太大进展。提前致谢。
getData(id: String): Observable<any[]> {
return this.http.get<any>(`${this.baseUrl}/path/${id}`).pipe(
concatMap(
evt =>
<Observable<any[]>>(
this.http.get<any[]>(
`${this.baseUrl}/path/relatedby/${evt.child_id}`
)
)
),
retry(3),
catchError(this.handleError("getData", []))
);}