http请求,每500ms一次,直到请求完成Angular
http request every 500ms until request complete Angular
我正在寻求每500ms不断请求服务器。我想先请求,如果500毫秒后请求不完整,我想再次提出同样的请求。然后再等待500毫秒,检查是否不完整。我想重复这个过程,直到请求完成。
现在,我的请求如下:
$http({
method: method,
url:baseUrl,
headers: {
'Content-Type' : 'application/json; charset=utf-8',
'Data-Type': 'json'
},
data: resultService.sendData(true),
cache:false
})
.success(function(data,status,headers,config){ // accepts more parameters
$timeout(function(){
resultService.activeSearch=false;
$timeout(function(){
request= $filter('orderBy')(data,['price','id']);
},0);
},1000);
})
.error(function(){
resultService.activeSearch=false;
function(){
request={error:1};
};
});
};
我想过用这种
(function tick(){
$http({
method: method,
url:baseUrl,
headers: {
'Content-Type' : 'application/json; charset=utf-8',
'Data-Type': 'json'
},
data: resultService.sendData(true),
cache:false
})
.success(function(data,status,headers,config){ // accepts more parameters
request=data;
$timeout(tick,500);
$timeout(
function(){resultService.activeSearch=false;
},1000);
})
.error(function(){
$timeout(tick,500);
resultService.activeSearch=false;
function(){
request={error:1};
};
});
})();
这并没有按预期工作。我哪里错了?
使用$http 的超时参数
function MyCtrl($scope, $http){
$scope.logs=''
// Will try to get targetUrl every 500ms, then call successCallback with the data
function tryToGet(targetUrl,successCallback){
$scope.logs+=''n New attempt 'n';
// Try a get with the timeout argument
var attempt = $http.get(targetUrl,{timeout:500})
// On error, try again
attempt.error(function(){
tryToGet(targetUrl,successCallback);
});
// On success, exectute the callback
attempt.success(successCallback);
}
function whenOk(data){
$scope.logs+=data
}
tryToGet('http://google.com', whenOk)
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app>
<pre ng-controller="MyCtrl" ng-bind="logs">
</div>
相关文章:
- 如何判断请求/承诺是否需要超过5秒才能完成,angular js
- Angular js-尚未添加PUT请求到服务的URL
- 遇到400错误请求(Angular+WebAPI)的问题
- Angular,对飞行前请求的响应
- 从C#应用程序向Angular页面发送帖子请求
- 从 Angular 数据工厂中的 HTTP POST 请求接收未定义的结果
- Angular 2:如何在 GET 和 POST 请求中设置 double、float、int 和布尔类型参数
- 处理 Angular 中的非幂等$http请求
- 使 Angular JS 实时 ajax 请求消耗更少
- Angular 中的 HTTP 服务将 POST 数据作为请求正文的键发送,没有值
- 读取Angular应用程序中请求的url
- 使用Angular/Rails发送带有params的http请求
- Angular 2:实现HTTP POST请求
- Angular JS-侦听或绑定$http请求
- 对php的Angular post请求失败
- 如何从$http请求延续中获得显示在angular ui.grid中的数据
- 如何使用scalajs-angular获取请求的http状态代码
- 在完成加载angular js Scope元素、Directives和Http请求后是否发生任何事件
- 在angular cordova应用程序中发布一个请求中的多个文件
- 添加授权JSONP请求Angular