Problem with returning value in asynchronous http request.
How to wait for subscribe?
canActivate(
route: ActivatedRouteSnapshot,
state: RouterStateSnapshot
) {
if (this.auth.currentUser) {
return true;
} else {
this.auth.getUser()
.subscribe(resp => {
if (this.auth.currentUser) {
return true;
} else {
this.router.navigate(['login'], {
queryParams: {
returnUrl: state.url
}
});
return false;
}
})
}
}
No result is returned when refreshing page and I m redirect to main page.