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

jquery的deferred对象

时间:2015-11-18 18:00:20      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:

1.$.Deferred 生成一个deferred对象。  //var dtd = $.Deferred;

2.dtd.done()指定操作成功时的回调函数。

3.dtd.fail()指定操作成功时的回调函数。

4.dtd.resolve()手动改变dtd对象的运行状态为"已完成",从而立即触发done()方法。

5.dtd.reject()这个方法与dtd.resolve()正好相反,调用后将dtd对象的运行状态变为"已失败",从而立即触发fail()方法。

6.$.when()为多个操作指定回调函数。

7.dtd.when()有时为了省事,可以把done()和fail()合在一起写,这就是then()方法。

  $.when($.ajax( "/main.php" ))

  .then(successFunc, failureFunc );

如果then()有两个参数,那么第一个参数是done()方法的回调函数,第二个参数是fail()方法的回调方法。如果then()只有一个参数,那么等同于done()。

例子:

 1   var wait = function(dtd){
 2     var dtd = $.Deferred(); //在函数内部,新建一个Deferred对象
 3     var tasks = function(){
 4       alert("执行完毕!");
 5       dtd.resolve(); // 改变Deferred对象的执行状态
 6     };
 7 
 8     setTimeout(tasks,5000);
 9     return dtd.promise(); // 返回promise对象
10   };
11   $.when(wait())
12   .done(function(){ alert("哈哈,成功了!"); })
13   .fail(function(){ alert("出错啦!"); });

 

jquery的deferred对象

标签:

原文地址:http://www.cnblogs.com/lixuemin/p/4975360.html

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