我需要发出多个 $.get 请求,处理它们的响应,并将处理结果记录在同一个数组中。代码如下所示:
$.get("http://mysite1", function(response){
results[x1] = y1;
}
$.get("http://mysite2", function(response){
results[x2] = y2;
}
// rest of the code, e.g., print results
在继续执行其余代码之前,是否有办法确保所有成功功能都已完成?
最佳答案
有一个非常优雅的解决方案:jQuery Deferred 对象。 $.get 返回一个实现 Deferred 接口(interface)的 jqXHR 对象 - 这些对象可以像这样组合:
var d1 = $.get(...);
var d2 = $.get(...);
$.when(d1, d2).done(function() {
// ...do stuff...
});
了解更多信息 http://api.jquery.com/category/deferred-object/和 http://api.jquery.com/jQuery.when/
关于jQuery:WAITING多个 GET 请求成功处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31250291/