【发布时间】:2011-09-16 15:26:50
【问题描述】:
我正在研究 Deferred 中的一些用例,我是按照以下说明来的:
$.Deferred().reject().promise()
我不明白,什么情况下我们调用reject()然后直接调用promise()?
我的意思是,如果我们要拒绝被延迟的对象,被拒绝的延迟对象怎么能代表一个承诺?
【问题讨论】:
我正在研究 Deferred 中的一些用例,我是按照以下说明来的:
$.Deferred().reject().promise()
我不明白,什么情况下我们调用reject()然后直接调用promise()?
我的意思是,如果我们要拒绝被延迟的对象,被拒绝的延迟对象怎么能代表一个承诺?
【问题讨论】:
当我们调用.reject() 然后.promise() 时,我们返回了一个我们已经决定不会成功的承诺。任何与.fail() 或.always() 绑定的处理程序将在添加时立即被调用。
【讨论】:
.done() 绑定的处理程序立即被调用,我们调用$.Deferred.resolve().prmoise()?