javascript - 在下一次迭代之前等待 ajax 成功

标签 javascript jquery ajax arrays each

我必须对特定数组执行 ajax 请求并等待服务器响应,然后再继续循环中的下一次迭代。

我目前同时执行迭代。确保成功后如何继续?

感谢您的建议。

myArray.each(function(val, index) {
    new Ajax.Request(myUrl + val, {
        onSuccess: function() {
               responseFromServer();
        }
    });
    void(0);
});

最佳答案

只有在 AJAX 请求完成后才必须进入下一次迭代。我将使用 jQuery 来展示一个示例;

function sendRequests(requests) {
    var value = requests.shift();
    $.ajax(myUrl + value).done(function(data){
        if (requests.length > 0) {
            sendRequests(requests);
        }
    });    
}

sendRequests( [1,2,3,4] );

关于javascript - 在下一次迭代之前等待 ajax 成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13036504/

相关文章:

javascript - Jquery 无法在 onchange 函数中工作(播放 scala View 页面和 Ajax)

javascript - 通过 Chrome 扩展将 AJAX 注入(inject)网站

javascript - 将 CORS 与 AWS API Gateway 结合使用有哪些安全隐患?

javascript - 为什么nodejs事件循环在第一次运行后是不确定的?

jquery - 包装内的 float div 向右

javascript - 我的标记可以在 jsfiddle 中运行,但不能在任何浏览器中运行

javascript - 使用 ajax 和 javascript 显示和隐藏表单

javascript - 使用 session 状态将日期从一个 asp 表单传输到另一个 asp 表单的输入字段

javascript - 插入新数组并对新数组的结果求和

javascript - 向每个列表项添加当前状态