我正在尝试检查状态更改是否用户已登录,而我正在尝试使用Cookie中的令牌恢复已记录状态
eFx.run(function($rootScope, $cookieStore, $location, Auth) {
$rootScope.$on('$stateChangeStart', function(event) {
if ($rootScope.user == null) {
if ($cookieStore.get('token') != undefined) {
Auth.logIn({'token': $cookieStore.get('token')}).then(function(data) {
$cookieStore.put('token', data.token);
$rootScope.user = data.user;
$rootScope.token = data.token;
}, function(data) {
$location.path("/login");
});
}
else {
$location.path("/login");
}
}
});
});
我遇到的问题是我的页面控制器被启动并调用带有令牌的ajax,该令牌尝试从$rootScope
获取,然后stateChangeStart中的Auth ajax返回promise。
有没有办法制作这个代码块,只有在它返回ajax承诺后才加载页面? 先谢谢你,丹尼尔。