jQuery中的promise的应用

来源:互联网 发布:心动网络面试题 编辑:程序博客网 时间:2024/06/07 13:58


通过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());});




0 0