码迷,mamicode.com
首页 > Web开发 > 详细

jQuery中deferred的对象使用

时间:2017-11-10 10:57:57      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:处理   tar   nat   文章   编程   开发网站   运行   好的   读取   

什么是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

 

jQuery中deferred的对象使用

标签:处理   tar   nat   文章   编程   开发网站   运行   好的   读取   

原文地址:http://www.cnblogs.com/lvmylife/p/7813071.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!