您的位置:首页 > Web前端 > JQuery

jQuery中的promise的应用

2016-03-03 13:22 567 查看

通过promise 可以实现异步链式调用,如我们可以添加动画队列逐个按照顺序执行,我们还可以添加一些异步的方法逐步按照顺序执行。

下列示例中我们实现500毫秒后,调用第一个then中的callback函数,1000毫秒后调用第二个then中的callback函数

function f1(){
var dfd=$.Deferred();
console.log(new Date().getTime());
setTimeout(function(){
dfd.resolve();
console.log('first function');
},500);
return dfd.promise();
}
f1().then(function(){
console.log(new Date().getTime());
var dfd=$.Deferred();
setTimeout(function(){
dfd.resolve();
console.log('secend function');
},500);
return dfd.promise();
}).then(function(){
console.log(new Date().getTime());
});


当我们直接执行promise的then方法的链式调用时,则可将then中的callback函数封装成数组,最后统一调用

function f1(){
var dfd=$.Deferred();
console.log(new Date().getTime());
setTimeout(function(){
dfd.resolve();
console.log('first function');
},500);
return dfd.promise();
}
f1().then(function(){
console.log(new Date().getTime());
}).then(function(){
console.log(new Date().getTime());
});




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: