我正在使用下面的代码从多个 url 获取 JSON。但是,当其中一个 URL 失败或获得 404 响应时,执行的功能不起作用。我阅读了 jquery 文档,我知道无论其中一个调用失败,都应该执行“then”。
var data = {};
var calls = [];
for (var i in funcs) {
calls.push(
$.getJSON(base_url+i,
(function(i) {
return function(d) {
data[i] = d;
};
}(i))
)
);
}
$.when.apply($,calls).then(function() {
do_something(data);
});