jQuery的Deferred / promise有两个结果:已解决和被拒绝。您可以将回调附加到与任一状态关联的Deferred。附件的条件已完成(与已解决相关联),失败(与拒绝关联)和始终(与两个状态相关联)。当状态从挂起移动到非挂起时,我没有成功地确定回调的顺序;即,对于完成和始终(或失败并且始终),回调对每个已解决和拒绝的状态执行的顺序是什么?
答案 0 :(得分:5)
延迟对象以顺序处理回调,并将回调添加到延迟对象。 done()
优先于always()
,反之亦然。无论您拨打resolved()
还是reject()
,行为都是相同的。
请参阅以下jsfiddle example。
对原始问题的评论不正确,或者至少不完全正确。