首页 > 其他 > 详细

deferred对象

时间:2015-05-12 22:25:42      阅读:191      评论:0      收藏:0      [点我收藏+]

原文地址:http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html

 var wait = function(){

    var dtd = $.Deferred(); //在函数内部,新建一个Deferred对象

    var tasks = function(){

      alert("执行完毕!");

      dtd.resolve(); // 改变Deferred对象的执行状态 resolve()已完成  reject()拒绝 

    };

     setTimeout(tasks,5000);

    return dtd.promise(); // 返回promise对象 可以防止下面修改到dtd的执行状态

  };

  $.when(wait())

  .done(function(){ alert("哈哈,成功了!"); })

  .fail(function(){ alert("出错啦!"); });

.always(function(){}) //不管调用的是deferred.resolve()还是deferred.reject(),最后总是执行。

---------------------------------------------------------------------------------------------

var haha=function(){

var dtd=$.Deferred()

$(‘p‘).click(function(){

 setTimeout(function(){

  $(‘p‘).text(22222222222222)

  dtd.resolve(); 

},2000)

 })

 return dtd.promise()

  }

 $.when(haha()).done(function(){

  alert(999)

}).fail(function(){

 alert(‘cuocuocuoc‘)

 })

 

deferred对象

原文:http://www.cnblogs.com/leyi/p/4498632.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!