gpt4 book ai didi

angular - rxjs switchMap 在 Angular Guard 中不起作用?

转载 作者:太空狗 更新时间:2023-10-29 17:47:10 26 4
gpt4 key购买 nike

return this.auth.user.pipe(
switchMap((user: IUser) => {
return of(true);
})
);

我的初始代码在某些情况下有点复杂,具体取决于用户数据,但出于测试目的,我在守卫的 canLoad 中使用了上面的代码,但它没有激活。

无论如何都会出现 TS/编译错误。

我已经尝试过使用 Ivy 和不使用它。

我正在使用 Angular 8.3;

最佳答案

您必须使用take(1),因为我确定auth.user 是一个流并且不会完成。守卫需要有一个完整的 Observable:

return this.auth.user.pipe(
take(1),
switchMap((user: IUser) => of(!!user))
);

也许你删除了一些代码,但你也可以在这里使用 map :

return this.auth.user.pipe(
take(1),
map((user: IUser) => !!user)
);

关于angular - rxjs switchMap 在 Angular Guard 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57925979/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com