加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

javascript – 如何在其中一个JSON请求失败时执行$.when

发布时间:2020-12-14 23:19:21 所属栏目:资源 来源:网络整理
导读:我正在使用以下代码从多个网址获取JSON.但是,当其中一个URL失败或获得404响应时,执行功能不起作用.我读了jquery doc,我知道“then”应该执行,无论其中一个调用失败了. var data = {};var calls = [];for (var i in funcs) { calls.push( $.getJSON(base_url+

我正在使用以下代码从多个网址获取JSON.但是,当其中一个URL失败或获得404响应时,执行功能不起作用.我读了jquery doc,我知道“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);
}); 
最佳答案
看看always方法.它将在both cases执行.
例如:

$.when.apply($,calls).always(function() { 
    alert('Resolved or rejected'); 
});

响应成功的事务,参数与.done()相同(即a = data,b = jqXHR),对于失败的事务,参数与.fail()相同(即a = jqXHR,b = errorThrown). (c)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读