多个ajax请求全部返回后调用处理程序

时间:2013-07-13 11:38:55

标签: javascript jquery ajax asynchronous

在多个ajax请求返回后调用处理程序的优雅方法是什么?

情况:我的网络应用程序通过使用并发的ajax请求调用API 20次来对REST API执行批处理操作。在每个请求返回后,我想存储结果并向用户显示GUI。

是否有一种简单的方法可以以某种方式对ajax请求对象进行分组并在完成所有操作后调用处理程序?我能想到的唯一方法是定义一个处理程序来检查每个调用是否已经返回,并在每次调用返回时调用它,但这有点混乱。

1 个答案:

答案 0 :(得分:1)

var requests = [];

requests.push($.ajax(...));
requests.push($.ajax(...));
requests.push($.ajax(...));

$.when.apply($, requests).done(function() {
    // all requests finished successfully
});

要阅读的内容: