jQuery中deferred的对象使用
2017-11-10 09:47
281 查看
什么是deferred对象
开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异步的操作(比如ajax读取服务器数据),也有同步的操作(比如遍历一个大型数组),它们都不是立即能得到结果的。通常的做法是,为它们指定回调函数(callback)。即事先规定,一旦它们运行结束,应该调用哪些函数。
但是,在回调函数方面,jQuery的功能非常弱。为了改变这一点,jQuery开发团队就设计了deferred对象。
简单说,deferred对象就是jQuery的回调函数解决方案。在英语中,defer的意思是"延迟",所以deferred对象的含义就是"延迟"到未来某个点再执行。
它解决了如何处理耗时操作的问题,对那些操作提供了更好的控制,以及统一的编程接口。
使用案例
var wait = function(dtd){ var dtd = $.Deferred(); //在函数内部,新建一个Deferred对象 var tasks = function(){ alert("执行完毕!"); dtd.resolve(); // 改变Deferred对象的执行状态 }; setTimeout(tasks,5000); return dtd.promise(); // 返回promise对象 }; $.when(wait()) .done(function(){ alert("哈哈,成功了!"); }) .fail(function(){ alert("出错啦!"); });
文章节选自 :
阮一峰的网络日志
原文链接 http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html
相关文章推荐
- jarson jQuery的deferred对象使用详解——实现ajax线性请求数据
- [翻译]在jQuery 1.5中使用deferred对象
- 在jQuery 1.5中使用deferred对象
- [原创]在jQuery1.5中使用deferred对象 - 拿着放大镜看Promise
- [轉]在jQuery1.5中使用deferred对象 - 拿着放大镜看Promise
- 在jQuery1.5中使用deferred对象 着放大镜看Promise
- jquery基础教程之deferred对象使用方法
- jQuery的deferred对象使用详解
- jQuery之Deferred对象的使用
- jQuery的deferred对象详解【彻底改变了如何在jQuery中使用ajax】
- 详解jQuery中的deferred对象的使用(一)
- jQuery的deferred对象使用详解
- jQuery.deferred对象使用详解
- 使用jQuery Deferred对象实现Promise
- 使用JQuery Deferred对象的then() 解决多个AJAX操作顺序依赖的问题
- jQuery.deferred对象使用详解
- jquery基础教程之deferred对象使用方法
- jQuery的deferred对象使用详解
- jQuery的deferred对象使用详解——实现ajax线性请求数据
- 在jQuery 1.5中使用deferred对象的代码(翻译)