zoukankan      html  css  js  c++  java
  • js Deferred的使用

    jQuery.Deferred()

    创建一个新的Deferred对象的构造函数,可以带一个可选的函数参数,它会在构造完成后被调用。

    jQuery.when()

    通过该方式来执行基于一个或多个表示异步任务的对象上的回调函数

    jQuery.ajax()

    执行异步Ajax请求,返回实现了promise接口的jqXHR对象

    deferred.then(resolveCallback,rejectCallback)

    添加处理程序被调用时,递延对象得到解决或者拒绝的回调。

    deferred.done()

    当延迟成功时调用一个函数或者数组函数.

    deferred.fail()

    当延迟失败时调用一个函数或者数组函数.。

    deferred.resolve(ARG1,ARG2,...)

    调用Deferred对象注册的‘done’回调函数并传递参数

    deferred.resolveWith(context,args)

    调用Deferred对象注册的‘done’回调函数并传递参数和设置回调上下文

    deferred.isResolved

    确定一个Deferred对象是否已经解决。

    deferred.reject(arg1,arg2,...)

    调用Deferred对象注册的‘fail’回调函数并传递参数

    deferred.rejectWith(context,args)

    调用Deferred对象注册的‘fail’回调函数并传递参数和设置回调上下文

    deferred.promise()

    返回promise对象,这是一个伪造的deferred对象:它基于deferred并且不能改变状态所以可以被安全的传

    实例

    var data;
    
    var wait = function(){
        var dtd = $.Deferred(); // 新建一个Deferred对象
        var tasks = function(){
            data='处理完成';
            var args = 'byebye';
            dtd.resolve(args); 
        };
        setTimeout(tasks,3000);
        return dtd.promise();
    };
    
    wait().done(function(args){
        $("#dd").text(data);
        alert(args);
    });
  • 相关阅读:
    Thinkphp注释
    THINKPHP5 如何在 控制器内调用model模型
    thinkphp5路由定义
    Thinkphp5读取当前config配置文件
    thinkphp5计算代码块的性能
    thinkphp的执行流程
    php filter过滤器
    nginx在收到stop信号后的处理
    寻找重复数
    奶牛和公牛
  • 原文地址:https://www.cnblogs.com/nnavvi/p/5614565.html
Copyright © 2011-2022 走看看