小编典典

延期失败后,是否有继续的方法?

ajax

我正在处理数量未知的Ajax请求。该请求可能会在404中失败。这将导致整个链失败。

延期失败后,是否有继续的方法?

var deferreds = [];
// fill deferreds with a number of ajax requests.
$.when.apply($, deferreds)
 .done(function(){
     // handle done
 }).fail(function(){
     // handle fail
     // would like to fix/resolve the failed deferred and continue with the rest
 });

阅读 265

收藏
2020-07-26

共1个答案

小编典典

您必须创建自己的延迟对象,等待另一个延迟对象成功或失败。

var myDeferred = $.Deferred();
var origDeferred = $.ajax(...);
// if request is ok, i resolve my deferred
origDeferred.done(function() {
  myDeferred.resolve.apply(this, arguments);
});
// if request failed, i also resolve my deferred
origDeferred.fail(function() {
  myDeferred.resolve.apply(this, arguments);
});

在这种情况下,您的延期将始终得到解决。

2020-07-26