Angularjs 雷斯坦格拉。捕获来自请求拦截器的响应
我需要为每个重新启动的请求设置超时,并在收到成功响应时取消它。问题是如何在请求拦截器中访问响应 我是如何解决的: 服务:Angularjs 雷斯坦格拉。捕获来自请求拦截器的响应,angularjs,restangular,Angularjs,Restangular,我需要为每个重新启动的请求设置超时,并在收到成功响应时取消它。问题是如何在请求拦截器中访问响应 我是如何解决的: 服务: angular.module('mmn') .factory('serverTimeout', function($timeout, $rootScope) { var serverTimeout = { request: function(config) { config.timeout = $timeout(function()
angular.module('mmn')
.factory('serverTimeout', function($timeout, $rootScope) {
var serverTimeout = {
request: function(config) {
config.timeout = $timeout(function() {
$rootScope.$broadcast('event:serverTimeout');
}, 30000);
return config;
},
response: function(response) {
$timeout.cancel(response.config.timeout);
return response;
}
};
return serverTimeout;
});
App.config:
$httpProvider.interceptors.push('serverTimeout');
App.run:
//watch serverTimeout event
$rootScope.$on('event:serverTimeout', function(){
//your handler here
});