Javascript for循环迭代之间的jQuery延迟

Javascript for循环迭代之间的jQuery延迟,javascript,jquery,ajax,Javascript,Jquery,Ajax,是否可以在javascript for循环之间设置延迟,不仅使用settimeout,而且基于特定ajax调用何时完成 比如: for (var i = 0 ; i < list.length ; i++) { $when('index.jsp').done(function(a1){ alert(i); }); } for(变量i=0;i

是否可以在javascript for循环之间设置延迟,不仅使用settimeout,而且基于特定ajax调用何时完成

比如:

for (var i = 0 ; i < list.length ; i++)
{
   $when('index.jsp').done(function(a1){
     alert(i);
   });
}
for(变量i=0;i

假设发送ajax请求并发出第一个警报,然后在第一个ajax调用完成时执行第二次迭代并发出警报。

我认为以下方法应该有效:

(function() {
    var i = 0, end = list.length;
    function iterate() {
        $.ajax('index.jsp').done(function() {
            alert(i);
            i++;
            if (i < end) {
                iterate();
            }
        });
    }
    iterate();
})();
(函数(){
var i=0,end=list.length;
函数iterate(){
$.ajax('index.jsp').done(函数(){
警报(一);
i++;
如果(i
我认为以下方法应该有效:

(function() {
    var i = 0, end = list.length;
    function iterate() {
        $.ajax('index.jsp').done(function() {
            alert(i);
            i++;
            if (i < end) {
                iterate();
            }
        });
    }
    iterate();
})();
(函数(){
var i=0,end=list.length;
函数iterate(){
$.ajax('index.jsp').done(函数(){
警报(一);
i++;
如果(i
一种简单的方法是在Ajax函数中使用回调函数递归地调用自己。否则,我不确定在for循环中实现它的方法,因为Ajax调用是异步的

一个简单的方法是在Ajax函数中使用回调来递归调用自己。否则,我不确定在for循环中实现它的方法,因为Ajax调用是异步的

不知道为什么它给我语法错误!结尾可能有问题吗?我错过了一个右括号,已修复。谢谢,我正在尝试测试它,但不知何故没有触发迭代。我应该调用它还是在加载时触发它?不知道为什么它会给我语法错误!结尾可能有问题吗?我错过了一个右括号,已修复。谢谢,我正在尝试测试它,但不知何故没有触发迭代。我应该呼叫它还是在加载时触发它?