繁体   English   中英

类型 'void' 不可分配给类型 'ObservableInput<any> '</any>

[英]Type 'void' is not assignable to type 'ObservableInput<any>'

我收到以下错误

'(user: User) => void' 类型的参数不可分配给'(value: User, index: number) => ObservableInput' 类型的参数。 类型“void”不可分配给类型“ObservableInput”。

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

我相信您正在尝试 map 内部可观察对象( map(user =>... )的结果,而是将其应用于源。如果是这样,请尝试以下操作

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

this.serviceUsers.getUserByuid(user.uid)返回一个 Observable 吗? 看起来您正在尝试将switchMap转换为 void。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM