我有一个带有以下签名的函数:
fetchUserCar(userId: string): Observable<Car>
但是要获取userId
参数,我必须调用一个我无法编辑的函数,如下所示:
private user$ = new ReplaySubject < User > ();
public getUser(): Observable < User > {
return this.user$.asObservable().share();
}
&#13;
我该怎么做呢?
答案 0 :(得分:4)
您需要致电getUser()
,然后flatMap
致电fetchUserCar
,传递从getUser()
获得的用户ID。
fetchCar(): Observable<Car> {
this.userService.getUser()
.flatMap(user => this.carService.fetchUserCar(user.id))
}