zoukankan      html  css  js  c++  java
  • jquery的deferred对象

    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("出错啦!"); });
  • 相关阅读:
    区块链 超级节点什么鬼?
    堆排序--模版类
    梯度下降算法Python简单试验
    svn: Can't convert string from 'UTF-8' to native encoding
    常用加密算法比较
    快速排序结合插入排序
    无法解析的外部符号
    mysql 远程连接出错问题
    50个C/C++经典面试题
    设计算法找出字符串中重复出现最长的子串
  • 原文地址:https://www.cnblogs.com/lixuemin/p/4975360.html
Copyright © 2011-2022 走看看