canActivate также принимает наблюдаемые. если возвращаемое значение является наблюдаемым, оно будет подписываться на него неявно.
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean | Observable<boolean>
{
debugger;
this.ms_zehut = JSON.parse(localStorage.getItem('id'));
return this.adminService.checkIsAdmin()
}
используйте catchError
для обработки неудачного ответа
return this._httpClient.get<ResultOfOperation<Object>>(AppSettings.getIsAdmin, {headers: headers})
.pipe(
tap(data => {
console.log("service get result", data);
}),
catchError(err = > {
this.router.navigateByUrl("/foo");
})
);