1

我知道 Deferred.done(a).fail(b) 与 Deferred.then(a,b) 相同,除了它们的语法,但我想知道是否有首选的语法方式。

为什么我要使用其中一个?有最佳实践吗?我现在唯一能想到的论点是,如果我在 .done(a).fail(b) 情况下遇到失败函数 'b',我看到 fail( b),而当我在 then(a,b) 情况下只看到 b 时,我看不到这一点还有什么论据吗?

4

2 回答 2

3

当您有多个任务要完成或失败时,请使用 Deferred.then(a,b)。

例如

$.when(task1)
.then(task2, task1Failure)
.then(task3, task2Failure)
.fail(task3Failure);

或者

$.when(task1)
.then(task2, task1Failure)
.then(task3, task2Failure)
.then(task3SuccessMeaningAllSuccess, task3Failure);
于 2013-07-17T16:45:24.267 回答
-1

.done(a).fail(b)是一种更语义化的方法,所以我就这么做了。

于 2013-04-09T11:43:30.360 回答