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("出错啦!"); });

转载于:https://www.cnblogs.com/lixuemin/p/4975360.html

jquery的deferred对象相关推荐

  1. jQuery的deferred对象详解

    阮一峰大神的关于jQuery的deferred对象详解 http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_ ...

  2. 谈谈JQuery的Deferred对象

    最近一个变态的项目,一个页面只含编辑器且有下载功能,大概含20个左右接口,要求数据完整显示(很多echarts图),弄个等待圈圈等它loading,启用jQuery的Deferred延迟对象,再多的接 ...

  3. jQuery使用Deferred对象执行异步操作

    在JQuery 1.5之前,Ajax仅支持一个回调函数,但在JQuery的1.5版本中,引入了 Deferred对象,它和ES6的Promise对象长的有点像,jQuery的Deferred对象也有r ...

  4. jQuery中deferred对象的使用(二)

    接上一回的内容,漏了一个always()方法,参数也是回调函数,与done和fail不同的是,无论任何情况都执行always方法中的回调. deferred对象的使用(二) deferred对象不光可 ...

  5. jQuery的deferred对象深析

    从jQuery 1.5.0版本开始引入的一个新功能----deferred对象. 这个功能很重要,未来将成为jQuery的核心方法,它彻底改变了如何在jQuery中使用ajax.为了实现它,jQuer ...

  6. jQuery中deferred对象详解

    最近看看构建工具gulp,当看到promise时突然有点陌生,于是乎意外找到了大牛阮一峰的一篇文章,写的非常的通俗易懂,对延迟对象进行了很好的讲解,虽然写的比较早但是道理都一样. 以下为主要内容: 一 ...

  7. JQuery:deferred对象的方法

    为什么80%的码农都做不了架构师?>>>    (1) $.Deferred() 生成一个deferred对象. (2) deferred.done() 指定操作成功时的回调函数 ( ...

  8. JQuery Deferred 对象

    http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html <jQu ...

  9. jQuery.Deferred对象

    概述 deferred对象是jQuery对Promises接口的实现.简单说,Promises是异步操作的通用接口,扮演代理人(proxy)的角色,将异步操作包装成具有同步操作特性的特殊对象.异步操作 ...

最新文章

  1. 类 求数组最大最小平均
  2. OpenSSL“心脏出血”漏洞爆发和修复方法
  3. 华人的战场——MSU视频编码大赛
  4. 在 .NET 中使用 C# 处理 YAML
  5. 图像放大 问题 即 二维数组放大
  6. 洛谷P2014【树形dp】
  7. Linux的标准I/O和管道
  8. python快速体验课-2020年2月
  9. PHP使用http_build_query()构造URL字符串的方法(可将POST参数组转换拼接成GET请求链接)...
  10. 执行计划有时不准确_生产计划四个层次和解决方案
  11. 中国建筑抗震设计规范反应谱v2.0(2012a)运行环境
  12. 超好用的后台管理的框架
  13. 在图形用户登录界面输入正确用户名与密码后,闪了一下(即将要登录进去那一刹那),它NND给我蹦出来了!
  14. TensorFlow1深度学习基础(笔记二)
  15. 使用Jupyter Notebook远程连接服务器
  16. CentOS 7作为客户端使用socks5代理上网
  17. 图或网络中的中心性:点度中心性、中介中心性、接近中心性、特征向量中心性、PageRank
  18. win10更新后,多了个500M的磁盘;
  19. Android仿IOS吸边弹簧阻尼移动组件SpringMovingView-自定义view系列(3)
  20. PLC西门子杯比赛,三部十层电梯博图v15.1程序

热门文章

  1. 全北现代宣布江苏苏宁中后卫洪正好租借延长1年
  2. win10设置默认打开方式
  3. Spring Boot 2.1.0 已发布,7 个重大更新!
  4. Spark 分布式调试工具
  5. DuiC 统一配置管理 2
  6. [转]linux下的fms2流媒体服务器搭建六部曲之五-----flv播放器制作篇
  7. C# 全选中数字文本框内容
  8. Android启动过程深入解析【转】
  9. codeigniter 中使用 phpexcel
  10. 适合于小团队产品迭代的APP测试流程