我正在使用jQuery,并且知道这个问题是因为jQuery.Deferred实现不符合Promises/A+标准。我不想使用其他库来解决这个问题。
既然有了这个,是否有一种方法可以从
然后:
在我的情况下,我只需要检查失败情况,设置标志并继续进行我的工作。在“then”示例中,我根本不需要并行成功处理程序。这里有一个jsFiddle以进一步澄清我的意思。
既然有了这个,是否有一种方法可以从
$.Deferred().fail()
回调中恢复,并返回到成功链?使用then()
的多回调形式可以实现,但是到目前为止我还没有找到使用.fail()
的解决方法。然后:
asyncThatWillFail().then(function () {
// useless callback
}, function () {
console.log("error");
return $.Deferred().resolve();
}).then(function () {
console.log("continuing on success chain");
});
失败(不起作用):
asyncThatWillFail().fail(function () {
console.log("error");
return $.Deferred().resolve();
}).then(function () {
console.log("continuing on success chain");
});
在我的情况下,我只需要检查失败情况,设置标志并继续进行我的工作。在“then”示例中,我根本不需要并行成功处理程序。这里有一个jsFiddle以进一步澄清我的意思。