是否可以在javascript for循环之间设置延迟,而不仅仅使用settimeout,而是基于何时进行特定的ajax调用?
类似的东西:
for (var i = 0 ; i < list.length ; i++)
{
$when('index.jsp').done(function(a1){
alert(i);
});
}
发送ajax请求并发出第一个警报,然后在第一个ajax调用完成后执行第二次迭代和警报。
答案 0 :(得分:3)
我认为以下内容应该有效:
(function() {
var i = 0, end = list.length;
function iterate() {
$.ajax('index.jsp').done(function() {
alert(i);
i++;
if (i < end) {
iterate();
}
});
}
iterate();
})();
答案 1 :(得分:1)
完成后续工作的一种简单方法是使用Ajax函数中的回调来递归调用自身。否则我不确定在for循环中这样做是因为Ajax调用是异步的。