У меня возникла проблема в моей проверке подлинности, когда я запрашиваю некоторые данные с сервера, и мое решение о маршрутизации зависит от ответа от сервера. Как мне дождаться ответа сервера для следующего шага?
это мой код:
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
if (!this._sessionService.user) {
this._router.navigate(['login']);
return false;
}
this._userServiceProxy.get(this._sessionService.userId).subscribe((user: UserDto) => {
if (user["result"].shouldChangePassword) {
this._router.navigate([this.routeToChangePassword()]);
}
if ((!route.data || !route.data["permission"])) {
return true;
}
if ((this._permissionChecker.isGranted(route.data["permission"]))) {
return true;
}
this._router.navigate([this.selectBestRoute()]);
return false;
})
}