Javascript 延迟jQuery的错误处理和恢复
我正在使用jQuery,并且知道这个问题是因为jQuery.Deferred实现不是promissions/A+compiant。我不想使用任何其他库来解决这个问题 既然这样,有没有办法从Javascript 延迟jQuery的错误处理和恢复,javascript,jquery,promise,jquery-deferred,Javascript,Jquery,Promise,Jquery Deferred,我正在使用jQuery,并且知道这个问题是因为jQuery.Deferred实现不是promissions/A+compiant。我不想使用任何其他库来解决这个问题 既然这样,有没有办法从$.Deferred().fail()回调中恢复,从而返回到成功链?这可以通过then()的多重回调形式实现,但到目前为止,我还没有找到使用.fail()的解决方案 然后: 失败(不起作用): 在我的情况下,我只需要检查失败,设置一个标志,然后继续我正在做的事情。我不需要“then”示例中的并行成功处理程序 这
$.Deferred().fail()
回调中恢复,从而返回到成功链?这可以通过then()
的多重回调形式实现,但到目前为止,我还没有找到使用.fail()
的解决方案
然后:
失败(不起作用):
在我的情况下,我只需要检查失败,设置一个标志,然后继续我正在做的事情。我不需要“then”示例中的并行成功处理程序
这里有一个例子来进一步阐明我的意思。不,你不能用
.fail
来说明这一点。但是,您不需要将函数作为第一个参数传递给:
如果不需要该类型的回调,则参数可以是null
因为只有然后才能启用链接,所以您应该使用
asyncThatWillFail().then(null, function () {
console.log("error");
return $.Deferred().resolve();
}).then(function () {
console.log("continuing on success chain");
});
除了需要返回已实现的jQuery承诺之外,这与方法类似,其中是的同义词。然后(null,…)
asyncThatWillFail().fail(function () {
console.log("error");
return $.Deferred().resolve();
}).then(function () {
console.log("continuing on success chain");
});
asyncThatWillFail().then(null, function () {
console.log("error");
return $.Deferred().resolve();
}).then(function () {
console.log("continuing on success chain");
});