深入理解jQuery的Deferred与Promise:异步编程与单元测试指南
1. 深入理解Deferred方法
在某些版本的 animate() 函数中,仅创建一个 Deferred 对象。当设置好运行动画的代码后,返回其 Promise ,以便该方法的调用者可以添加回调函数。返回 Promise 是为了让调用者能添加回调,但不能改变 Deferred 的状态。在这种情况下,创建 Deferred 的函数负责对其进行解析或拒绝。
以下是相关代码示例:
function animate(milliseconds) {
var deferred = $.Deferred();
setTimeout(function() {
deferred.notify(100);
deferred.resolve();
}, milliseconds);
return deferred.promise();
}
$('#run-button').click(function() {
animate(1000)
.progress(function(value) {
$('.progress').text(Math.floor(value) + '%');
})
.done(function() {
超级会员免费看
订阅专栏 解锁全文
328

被折叠的 条评论
为什么被折叠?



