Dans ma situation, je travaille avec auth guard CanActivate()
restreignant l'accès de l'utilisateur pour chaque route, mais la valeur de la condition est prise à partir de l'objet Promise de la requête http. Comment puis-je accéder à la promesse then() et catch() et le renvoyer à la fonction CanActivate(): Boolean
?Comment retourner le résultat de la promesse then()/catch() à la fonction contenant la promesse?
Mon code ressemble à ceci.
// 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
});
}
Je n'arrive toujours pas à résoudre ce problème.
Salut à tous je vais essayer celui-ci mais juste curieux du résultat, il est encore valide pour l'utiliser sur '{chemin: « un peu de chemin/», composant: ClientComponent, canActivate: [AuthGuard]} '? –
@ ShiftN'Tab Oui bien sûr, c'est une variante de la fonction 'canActivate' –
Je suis très reconnaissant! –