Javascript 中止AngularJS中挂起的ajax请求
如何在Javascript 中止AngularJS中挂起的ajax请求,javascript,ajax,angularjs,abort,Javascript,Ajax,Angularjs,Abort,如何在AngularJS中中止挂起的ajax请求?我正在使用服务进行ajax调用,如果在同一路线上发出新请求,我希望中止所有挂起的请求 这是我的服务: myService.service('angService', function($http){ this.getfromRemote=function(url){ return $http.get(location+'/dev/apiv-1-0-2/'+url); } }); 我打电话给服务部。在运行下一步之前,我想中止挂起
AngularJS
中中止挂起的ajax
请求?我正在使用服务
进行ajax调用,如果在同一路线上发出新请求,我希望中止所有挂起的请求
这是我的服务:
myService.service('angService', function($http){
this.getfromRemote=function(url){
return $http.get(location+'/dev/apiv-1-0-2/'+url);
}
});
我打电话给服务部。在运行下一步之前,我想中止挂起的ajax请求
angService.getfromRemote('paymentStatement/'+$scope.username)
.success(function(response){
})
要中止挂起的
$http
请求,可以将承诺传递给$http
请求的超时属性,然后调用resolve
中止请求
myService.service('angService',function($http, $q){
var pending = false;
var deferred = $q.defer();
this.getfromRemote=function(url){
if (pending) {
deferred.resolve();
deferred = $q.defer();
}
pending = true;
return $http({
method: 'GET',
url: location+'/dev/apiv-1-0-2/'+url,
timeout = deferred.promise;
}).then(function(result) {
pending = false;
deferred = $q.defer();
return result;
}, function(result) {
pending = false;
deferred = $q.defer();
return result;
});
}
});
可能是它的复制品对我不起作用