码迷,mamicode.com
首页 > 其他好文 > 详细

deferred对象

时间:2015-05-12 22:28:28      阅读:157      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!