类型“void”不可分配给类型“ObservableInput<any>”

use*_*892 6 rxjs angular angular-observable angular8 angular9

我收到以下错误

类型“(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;
                        })
    )
  }
Run Code Online (Sandbox Code Playgroud)

Mic*_*l D 9

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

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