我有一个基本的(Angular 6)路线防护,可以根据某些逻辑进行导航。
但是,如果后卫或它所调用的任何东西抛出throw new Error('some message')
错误,则似乎是被角度捕获并被静音了。没有控制台消息或任何指示已发生异常的指示。执行仅在该行代码处停止,并且可能被角度捕获,然后可能会返回false,因为导航不会继续。
作为一种补救措施,我在尝试捕获中将逻辑包装在后卫的canActivate()
中,并手动进行console.error('blah'),然后拒绝进行导航。
这是路由守卫的预期行为吗?这是Angular的良好做法吗?