【问题标题】:Providing a parameter from an Observable to a function that returns an Observable将 Observable 中的参数提供给返回 Observable 的函数
【发布时间】:2017-12-06 00:26:17
【问题描述】:

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

fetchUserCar(userId: string): Observable<Car>

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

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

我该怎么做?

【问题讨论】:

    标签: angular rxjs observable rxjs5 behaviorsubject


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-10
      • 2020-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-19
      • 2016-02-18
      • 2019-07-24
      相关资源
      最近更新 更多