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的副本 –