萌新!怎么用JS递归发送AJAX请求十分感谢

functiononNetChange(){
varnt=plus.networkinfo.getCurrentType();//这个是监听网络信号
if(nt=="2"||nt=="3"||nt=="5"||nt=="6"){
mui.toast("在线模式");
vartx=db.transaction("users",READ_WRITE);//本地存储功能的代码
varstore=tx.objectStore("users");//本地存储功能的代码
varindex=store.index("Ifnet");//本地存储功能的代码
varreq=index.openCursor(IDBKeyRange.only("1"));//本地存储功能的代码
req.onsuccess=function(evt){//本地查询后成功的方法
varres=evt.target.result;
if(res){
varnet=[res.value]
for(j=0;jmui.ajax('http://XXXXX',{
data:{
tugwork_s_id:net[j].TUGWORK_S_ID,
IsMooring:net[j].If_mooring,
IsPickup:net[j].ISPICKUP,
godate:net[j].Godate,
startdate:net[j].Startdate,
enddate:net[j].Enddate,
backdate:net[j].Backdate
},
dataType:'json',
type:'post',
timeout:5000,
success:function(res){
console.log(JSON.stringify(res));
},
error:function(xhr,type,errorThrown){
console.log('Update_local');
}
});
}
res.continue();//这个是本地存储的游标下移,如果不写这个就能查出来一条
}
};
req.onerror=function(evt){//本地查询后失败的方法
console.error("UpDataerror:",evt.target.errorCode||evt.target.error);
};
}
else{
mui.toast("离线模式");
}
}
代码就是这个样子,我这么写发送AJAX非常的混乱。虽然数据保存成功了。我想写一个递归的方法但是不知道应该怎么写。请哪位大神帮我看看我应该如何把这个for循环变成递归的写法。就比如说我本地查询到3条符合标准的数据。然后我就发送3次AJAX请求。目前不考虑失败的情况。默认理想情况下都是成功的。
ibeautiful
浏览 555回答 2
2回答

侃侃尔雅

递归实现的话感觉还是要用一个累加变量作为终止发送请求的标记,和你写的循环的道理差不多if(res){varj=0functionrequest(){mui.ajax('http://XXXXX',{data:{tugwork_s_id:net[j].TUGWORK_S_ID,IsMooring:net[j].If_mooring,IsPickup:net[j].ISPICKUP,godate:net[j].Godate,startdate:net[j].Startdate,enddate:net[j].Enddate,backdate:net[j].Backdate},dataType:'json',type:'post',timeout:5000,success:function(res){console.log(JSON.stringify(res));},error:function(xhr,type,errorThrown){console.log('Update_local');}});j++if(j
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript