0
异步http请求中返回值的问题。Angular 2 guard - 对用户的异步请求
如何等待订阅?
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;
}
})
}
}
刷新页面时没有返回结果,我将重定向到主页面。
可能是https://stackoverflow.com/questions/38425461/angular2-canactivate-calling-async-function和https://stackoverflow.com/questions/41377014/angular-2-canactivate-async的副本 –