由于我使用Oauth2保护我的Api,如果以前的访问令牌已经过期,我需要在任何http请求之前获取新的访问令牌。
到目前为止,我还没有多少使用过事件监听器。
这就是我现在所做的事情(请告诉我是否正确):
ApplicationController.js :
app.controller('ApplicationController', function($rootScope, $scope, $localStorage, AuthService){
// Listening event apiRequested
$scope.$on('event:apiRequested', function(e) {
AuthService.token();
// Restore the access_token in case it has changed
access_token = $localStorage.getObject('access_token');
});
})
UserController.js:
$rootScope.$broadcast('event:apiRequested');
// Get Users around
return $http.post(domain+'/api/users?access_token='+access_token.key, data).then(function(response){
return response;
});
首先我不确定...如果事件已经完全执行,是否会处理$ http?
因为我不确定,我正在考虑添加回调。
这个想法:
$rootScope.$broadcast('event:apiRequested', function(response){
if(response){
// Get Users around
return $http.post(domain+'/api/users?access_token='+access_token.key, data).then(function(response){
return response;
});
}
});
请告诉我是否可以这样做,或者我应该使用除事件监听器之外的其他内容。
答案 0 :(得分:4)