我现在有个进度条需要API返回的数据,每个请求建立在上个请求完成之后,这个请求的JS该如何写?
你可以用递归的方法来获取就可以了:下面是用ajax来做的实例
function getData(){
$.get('a.html?a=33',function(ret){
if(ret){ //这里的ret可以对ret返回数据的内容做出判断,只要某个条件符合,就终止继续请求
getData(); //返回数据后再次获取
}else{
alert('响应超时');
}
})
}
另外一个就是可以用轮询
操作了
写个递归不停调用?进度完成后再停止?感觉是这样吧
好久没有写过jquery ajax,不知道写对了没
function progress(maxTry) {
var tryTimes = 0;
function fetchData() {
$.ajax({
method: "GET",
url: "some/api/request",
data: { some: 'api data'},
complete: function(response) {
if(response.data) // if you are satisfied with response, stop looping API
return;
else {
updateProgressBar();
fetchData();
}
},
error: function() {
if(tryTimes > maxTry) {
// anything else you want to do when failed
return;
} else {
fetchData();
tryTimes ++;
}
}
})
}
fetchData();
}
progress(5);