Во-первых: пожалуйста, не публикуйте код как внедренные изображения, это затрудняет ответ.
Во-вторых: вы также можете ввести промежуточную переменную и написать свою функцию следующим образом:
canActivate() {
const returnedPromise = this.authService.isAuthenticated()
.then(this.processAuthenticationValue);
return returnedPromise;
}
private processAuthenticationValue = (authenticated: boolean) => {
if (authenticated) {
return true;
} else {
this.router.navigate(['/']);
}
}
Итак, вот что происходит: isAuthenticated()
вызывается и возвращает обещание. then
присоединяется в конце его цепочки обещаний (что then
определено в методе processAuthenticationValue
). То, что возвращается от canActivate
, является всей цепочкой.