jquery的promise方式能处理连续的请求吗
现在有一个ajax请求,需要根据这个请求的结果进行判断是否再次请求数据
可能会有多个请求,怎么在这些请求都完成之后再进行操作
更新问题
function queryAreaForMap(areaMap,startCount){
var postData = {
command:"queryArea",
queryCount:5
};
if(startCount){
postData["startCount"] = startCount;
}
var query = $.post(APP.baseUrl,postData).then(function(result){
if(result.response.code === 0){
if(result.data.maxCount > result.data.nextCount) {
return queryAreaForMap(areaMap,result.data.nextCount).then(function(nextResult){
return [].concat(result.data.area,nextResult);
});
}else{
return [];
}
}else{
return [];
}
});
return query;
}
用方法执行时只有两次的结果,但是请求是发了三个
不知道为什么好像少了一次ajax请求的结果
queryAreaForMap().then(function(mm){
alert(JSON.stringify(mm));
alert(mm.length);
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你这个逻辑没对啊,
if (result.data.maxCount > ......) {}
那里面,不需要再then
啊直接写你的业务逻辑就对了。按你的逻辑,大概改了下代码