无法让 concatMap 对用户 ID 进行第一次查询,然后将该 ID 用于第二次查询。
这是文档如何解释其用法的方式,但似乎不存在证明这种工作的示例。
this.authenticationService.currentUser.pipe(
concatMap((principal: Principal) => {
this.getUser(principal.id: String)
})
).subscribe((user: User) => {
console.log(user);
});
这在 VSC 中都是红色的。
[ts]
Argument of type '(principal: Principal) => void' is not assignable to parameter of type '(value: Principal, index: number) => ObservableInput<{}>'.
Type 'void' is not assignable to type 'ObservableInput<{}>'. [2345]
(parameter) principal: Principal
有人可以帮我理解这一点吗?我相信这可能是因为 TS 2.7+ 没有空返回检查。