在 AngularJS 中中止挂起的 ajax 请求
Abort pending ajax request in AngularJS
如何在AngularJS
中中止挂起的ajax
请求?我正在使用Service
进行 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;
});
}
});
相关文章:
- ajax请求的顺序总是不同的
- 从ajax请求中获取javascript对象
- Ajax请求文档就绪会导致jquery加载缓慢
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- JavaScript代码未正确检查ajax请求
- "日期“;AJAX请求返回的类型值未定义
- 在等待ajax请求时显示微调器并禁用页面
- 跨域ajax请求
- Ajax请求返回空的数据字符串,但首先得到了正确的数据
- Javascript-如何让脚本与Ajax请求的数据一起运行
- ajax请求成功,但可以'我看不到我的数据
- 如何将给定的curl命令复制为jquery ajax请求
- 为什么我能够从javascript控制台发送跨域ajax请求
- 一台特定计算机的Ajax请求数据未定义/失败
- 获取ajax请求的请求头
- 原型Ajax请求参数为嵌套json
- 可以't从AJAX请求中筛选数据
- jQuery Mobile Collapse上的AJAX请求
- 暂停函数执行流程,直到ajax请求完成