2017-07-02 107 views
0

我有以下签名功能的功能:提供的参数从可观察到返回一个可观察

fetchUserCar(userId: string): Observable<Car>

但要获得userId参数,我要调用一个函数,我不能编辑,这是以下内容:

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

我该如何去做这件事?

回答

4

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

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