Mic*_*elB 4 rxjs angular angular-router-guards switchmap
return this.auth.user.pipe(
switchMap((user: IUser) => {
return of(true);
})
);
Run Code Online (Sandbox Code Playgroud)
我的初始代码有些复杂,在某些情况下取决于用户数据,但是出于测试目的,我在警卫队的canLoad中使用了上面的代码,并且该代码无法激活。
任何TS /编译错误。
无论是否使用常春藤,我都尝试过。
我正在使用Angular 8.3;
您必须使用take(1),因为我确定auth.user是流并且未完成。警卫需要完整的Observable:
return this.auth.user.pipe(
take(1),
switchMap((user: IUser) => of(!!user))
);
Run Code Online (Sandbox Code Playgroud)
也许您删除了一些代码,但也可以在此处使用map:
return this.auth.user.pipe(
take(1),
map((user: IUser) => !!user)
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60 次 |
| 最近记录: |