zoukankan      html  css  js  c++  java
  • Jquery 延迟对象

        延迟对象,在jQuery的1.5引入,是通过调用jQuery.Deferred()方法创建一个可链式调用的工具对象。 它可以注册多个回调到回调队列, 调用回调队列,准备代替任何同步或异步函数的成功或失败状态。

    deferred.alway()

    当Deferred(延迟)对象解决或拒绝时,调用添加处理程序。

    deferred.always( alwaysCallbacks [, alwaysCallbacks ] )

    参数 alwaysCallbacks 类型 : 一个函数或函数数组 

    例子:

    1 $.get("test.html").always( function() {
    2   console.log("$.get completed with success or error callback arguments");
    3 } );
    4 Object {readyState: 1}
    5 
    6 
    7 
    8 .get completed with success or error callback arguments

    deferred.done()

    当延迟对象结决时,添加处理程序 ,参数与deferred.alway() 相同

     例子:

     1 function b(){
     2     console.log("test");
     3 }
     4 
     5 
     6 var dtd=$.Deferred();  // 创建延迟对象
     7 dtd.resolve();         //改变延迟对象,延迟对象解决
     8 dtd.done(b).done(function(){
     9     console.log("b is done");
    10 });
    11 
    12 test
    13 
    14 b is done

    deferred.fail()

    当延迟对象拒绝时被调用

    1 var dtd = $.Deferred();
    2 dtd.reject();
    3 dtd.fail(function(){console.log("fail")});
    4 
    5  fail

    deferred.resolve()

    将延迟对象置为解决,并可执行回调函数;

    deferred.reject()

    拒绝延迟对象,并执行回调函数;

    deferred.state()

    确定一个延迟对象的当前状态。这个方法不接受参数,只返回一个字符串,为以下三个:

    resolved:表示延迟对象在解决状态;

    rejected : 表示延迟对象为拒绝状态;

    pending : 表示延迟对象尚未解决状态;

    deferrred.then()

    当Deferred(延迟)对象解决,拒绝或仍在进行中时,调用添加处理程序。

    例子:

     1 function a1() {
     2             var dtd = $.Deferred(); 
     3            console.log("aa");
     4                 dtd.resolve(); 
     5             
     6             return dtd;
     7         }
     8 
     9 var an= a1();
    10 
    11         an.then(function() {
    12             console.log("an");
    13     })
    14 
    15 aa
    16 
    17 an

     

     

  • 相关阅读:
    管道和FIFO
    2.Qt Creator的使用
    1.新手上路:Windows下,配置Qt环境
    系统数据文件和信息
    使用Python与数据库交互
    与文件和目录操作相关的函数
    使用Python处理Excel文件的一些代码示例
    使用Python处理CSV文件的一些代码示例
    【Jenkins】发布报错“error: RPC failed; curl 18 transfer closed with outstanding read data remaining”
    Linux之文本处理命令
  • 原文地址:https://www.cnblogs.com/benstos/p/6405825.html
Copyright © 2011-2022 走看看