Javascript 忽略jQuery.when期间的超时

Javascript 忽略jQuery.when期间的超时,javascript,jquery,jquery-deferred,Javascript,Jquery,Jquery Deferred,我有一些jQueryAjax请求,我正在与.when调用并行运行。我想忽略那些在超时后没有返回的 以下是一个简单的形式: var ajax1 = $.ajax({url: url1, timeout: 1000, success: function() { console.log("1 done"); } }); var ajax2 = $.ajax({url: url2, timeout: 1000, success: function

我有一些jQueryAjax请求,我正在与.when调用并行运行。我想忽略那些在超时后没有返回的

以下是一个简单的形式:

var ajax1 = $.ajax({url: url1,
    timeout: 1000,
    success: function() {
        console.log("1 done");
    }
});

var ajax2 = $.ajax({url: url2,
    timeout: 1000,
    success: function() {
        console.log("2 done");
    }
});

$.when(ajax1, ajax2).done(function() {
    console.log("all done");
});
在上面的示例中,如果url1没有在1秒内响应,我仍然希望达到“全部完成”。我知道如何在每次ajax调用中捕获超时错误,但我不知道如何将错误标记为已忽略。

如果您希望ajax调用以所有方式(成功、错误、超时等)完成,而不是以成功的方式完成,您不能使用而不是
.done()

$.when(ajax1, ajax2).always(function() {
    console.log("all done");
});
传递给
.always()
回调的参数可用于确定ajax调用的成功或错误类型。

如果您希望ajax调用以所有方式(成功、错误、超时等)完成,而不是以成功的方式完成,您不能仅使用
.done()

$.when(ajax1, ajax2).always(function() {
    console.log("all done");
});

传递给
.always()
回调的参数可用于确定ajax调用的成功或错误类型。

谢谢。有时候我会错过显而易见的。谢谢。有时我会错过显而易见的事情。