2017-08-10 94 views
2

Angular 2路由器卫兵可以在一个数组中定义。例如:Angular 2路由器卫兵订购

<code> 
canActivate: ['CanAlwaysActivateGuard','AuthGuard'] 
</code> 

以下是我的问题:

  1. 会是怎样执行两个卫兵的顺序。
  2. 如果我想只在CanAlwaysActivateGuard返回true的情况下执行AuthGuard,那是否可能。

回答

2

这两名警卫的执行顺序是什么。

它们将同步运行而不会彼此等待。

如果我想执行AuthGuard,只有当CanAlwaysActivateGuard返回 为真时,这是否可能。

不,目前的实施是不可能的。作为一种解决方法,您可以创建一个包装警卫,以便按顺序运行警卫。请参阅How to wait for guards in Angular