0
在我的情况下,我正在使用身份验证警戒CanActivate()
限制每个路由的用户访问权限,但条件值取自http请求Promise对象。我如何访问Promise然后()并捕获()并将其返回给CanActivate(): Boolean
函数?如何将promise返回()/ catch()结果给包含promise的函数?
我的代码看起来像这样。
// On AuthService
verfifyUser(): Promise<any> {
return this.http
.get(`api/auth/verify-user`, { headers: this.headers })
.toPromise()
.then(res => res.json() as any);
}
// On AuthGuardService
CanActivate(): Boolean {
this.authSrv.verfifyUser(some_user).then(result => {
// return true
}).catch(err => {
// return false
});
}
我仍然无法弄清楚如何解决这个问题。
嗨,我会尝试这一个,但只是好奇,结果仍然有效使用这个对'{路径:“一些路径/”,成分:ClientComponent,canActivate: [AuthGuard]}'? –
@ ShiftN'Tab当然,它是'canActivate'函数的一个变体 –
我非常感谢你! –