将 Observable 的参数提供给 returns Observable 的函数
Providing a parameter from an Observable to a function that returns an Observable
我有一个具有以下签名的函数:
fetchUserCar(userId: string): Observable<Car>
但是要获取userId
参数,我必须调用一个我无法编辑的函数,如下所示:
private user$ = new ReplaySubject < User > ();
public getUser(): Observable < User > {
return this.user$.asObservable().share();
}
我该怎么做?
您需要调用 getUser()
,然后 flatMap
调用 fetchUserCar
传递从 getUser()
获得的用户 ID。
fetchCar(): Observable<Car> {
this.userService.getUser()
.flatMap(user => this.carService.fetchUserCar(user.id))
}
我有一个具有以下签名的函数:
fetchUserCar(userId: string): Observable<Car>
但是要获取userId
参数,我必须调用一个我无法编辑的函数,如下所示:
private user$ = new ReplaySubject < User > ();
public getUser(): Observable < User > {
return this.user$.asObservable().share();
}
我该怎么做?
您需要调用 getUser()
,然后 flatMap
调用 fetchUserCar
传递从 getUser()
获得的用户 ID。
fetchCar(): Observable<Car> {
this.userService.getUser()
.flatMap(user => this.carService.fetchUserCar(user.id))
}