Angular中的Guard陷入循环
创始人
2024-10-31 05:30:28
0

通常这种问题是由于在路由守卫中使用了异步操作(例如 observable 或 promise),并且忘记了在某个时间点解决它们,从而导致陷入了循环。

解决该问题的一种方法是使用 canActivate() 方法中返回的 observable,这样可以在处理完所有异步操作后返回结果。例如,对于一个返回 observable 的 guard,可以在解决它之前添加 take(1) 来确保它只执行一次:

canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {
   return this.userService.isAuthenticated.pipe(
      take(1),
      map(isAuth => {
         if (isAuth) {
            return true;
         } else {
            // Redirect to login page
            this.router.navigate(['login']);
            return false;
         }
      })
   );
}

通过使用 take(1),我们可以在处理完第一个值后,立即完成管道,防止陷入无限循环。

相关内容

热门资讯

透视肯定“xpoker辅助助手... 透视肯定“xpoker辅助助手”透视辅助挂(总是真的有挂)1、每一步都需要思考,不同水平的挑战会更加...
透视真的!德普之星透视辅助插件... 透视真的!德普之星透视辅助插件,德普之星辅助器怎么用,透明挂教程(有挂辅助)1、用户打开应用后不用登...
透视安装“德州之星扫描器”透视... 透视安装“德州之星扫描器”透视辅助器(一贯有挂);1、德州之星扫描器ai辅助优化,德州之星扫描器发牌...
透视规律!德扑圈有透视吗,德普... 透视规律!德扑圈有透视吗,德普之星私人局透视,切实教程(有挂细节)1、德普之星私人局透视透视辅助简单...
透视实锤!pokemmo脚本最... 透视实锤!pokemmo脚本最新版,智星菠萝可以辅助吗,解密教程(有挂插件);智星菠萝可以辅助吗辅助...
透视了解!德普之星透视辅助软件... 透视了解!德普之星透视辅助软件,(德扑之心)原来真的有挂,AI教程(有挂细节)一、德普之星透视辅助软...
透视教程“聚星ai辅助工具激活... 透视教程“聚星ai辅助工具激活码”透视辅助挂(其实真的是有挂);1、打开软件启动之后找到中间准星的标...
透视好友!德普之星辅助工具如何... 透视好友!德普之星辅助工具如何设置,德普软件,2025新版(有挂工具)1、游戏颠覆性的策略玩法,独创...
透视好友“sohoo竞技联盟辅... 透视好友“sohoo竞技联盟辅助器”透视辅助工具(切实有挂);sohoo竞技联盟辅助器辅助器中分为三...
透视能赢!德普之星透视辅助,德... 透视能赢!德普之星透视辅助,德扑之心免费透视,2025新版总结(有挂辅助)1、超多福利:超高返利,海...