【发布时间】:2013-06-22 21:21:25
【问题描述】:
除了jQuery版本之外,Deferred和Promise有什么区别?
我应该使用什么来满足我的需要?我只想打电话给fooExecute()。例如,我只需要 fooStart() 和 fooEnd() 来切换 html div 状态。
//I'm using jQuery v2.0.0
function fooStart() { /* Start Notification */ }
function fooEnd() { /* End Notification */ }
function fooExecute() { /* Execute the scripts */ }
$('#button1').on('click', function() {
var deferred1 = $.Deferred();
var promise1 = $.Promise();
deferred1.???
promise1.???
});
【问题讨论】:
-
你不能改变承诺的状态。因此,它被处理到请求逻辑(可能没有业务篡改条件逻辑 - 解决或拒绝) - 等待解决 - 来自实际创建延迟的工厂逻辑。 Deferred 可以是
resolved 或rejected 更改其状态,它的 Promise 也将反映。告诉我你想如何使用延迟点击? -
我不认为你的例子可以从承诺中受益(或者我不明白)。也许看看How can jQuery deferred be used?。
标签: jquery jquery-deferred promise