【问题标题】:Type 'void' is not assignable to type 'ObservableInput<any>'类型 'void' 不可分配给类型 'ObservableInput<any>'
【发布时间】:2020-10-01 01:52:45
【问题描述】:

我收到以下错误

“(用户:用户)=> void”类型的参数不可分配给参数 类型为“(值:用户,索引:数字)=> ObservableInput”。类型 'void' 不可分配给类型 'ObservableInput'。

 getCurrentUserDb()
  {
    return this.login.authState.pipe(
                        switchMap(user=>{
                          return this.serviceUsers.getUserByuid(user.uid);
                        }),
                        map(user=>{
                          return user;
                        })
    )
  }

【问题讨论】:

    标签: angular rxjs angular8 angular9 angular-observable


    【解决方案1】:

    this.serviceUsers.getUserByuid(user.uid) 是否返回 Observable?看起来你正试图 switchMap 做空。

    【讨论】:

      【解决方案2】:

      我相信您试图从内部 observable (map(user =&gt; ...) 映射结果,而是将其应用于源。如果是这样,请尝试以下操作

      getCurrentUserDb(): Observable<any> {
        return this.login.authState.pipe(
          switchMap(user => {
            return this.serviceUsers.getUserByuid(user.uid).pipe(
              map(user => {
                return user;
              })
            );
          })
        );
      }
      

      【讨论】:

        猜你喜欢
        • 2021-12-10
        • 1970-01-01
        • 2019-05-06
        • 2021-12-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-23
        • 1970-01-01
        相关资源
        最近更新 更多