提供从Observable到返回Observable的函数的参数

时间:2017-07-02 17:52:45

标签: angular rxjs observable rxjs5 behaviorsubject

我有一个带有以下签名的函数:

fetchUserCar(userId: string): Observable<Car>

但是要获取userId参数,我必须调用一个我无法编辑的函数,如下所示:

&#13;
&#13;
private user$ = new ReplaySubject < User > ();
public getUser(): Observable < User > {
  return this.user$.asObservable().share();
}
&#13;
&#13;
&#13;

我该怎么做呢?

1 个答案:

答案 0 :(得分:4)

您需要致电getUser(),然后flatMap致电fetchUserCar,传递从getUser()获得的用户ID。

fetchCar(): Observable<Car> {
    this.userService.getUser()
        .flatMap(user => this.carService.fetchUserCar(user.id))
}