`

三十、deferred

 
阅读更多

JQuery的1.5之后提供了Deferred和Promise两个对象来处理相应的同步请求
在1.5之前,当调用了一个ajax之后,会返回xhRequest。在1.5之后就返回promise对象,
promise对象可以来获取不同情况的处理方式

 

//调用ajax之后返回的是一个promise对象。可以通过这个对象来进行成功或者失败之后回调处理
//var promise = $.ajax("02.html",{dataType:"html"});
//使用promise对象可以设定在执行完成和失败的操作
/*promise.done(function(data){
    //成功的时候处理的操作
    alert(data);
    alert(($(data).filter("h1")).length);
   
}).fail(function(data){
    //失败的时候处理的操作
}).done(function(data){
    //使用这种方式,可以执行多个回调函数操作
    $("body").html($(data).filter("h1").html());
});*/

//可以使用then来替换done和fail,第一个参数就是成功之后的操作
//第二个参数就是失败之后的处理函数
/*promise.then(function(data){
    alert(data);
},function(data){
    alert(data);
})*/

//可以使用when来指定在多个ajax程序执完毕行之后才进行操作
/**
可以传入多个调用,在处理的时候可以通过多个参数来接受信息
**/
var promise = $.when($.ajax("02.html",{dataType:"html"})
        ,$.ajax("03.html",{dataType:"html"}));

promise.done(function(data1,data2){
    alert(data1);
    alert(data2);
}).fail(function(){
   
})

分享到:
评论

相关推荐

    Twisted系列教程 的中文翻译

    第十部分到第十三部分则是对Deferred用法的深入讲解,包括如何增强Deferred的功能,如何用Deferred来实现同步环境下的异步操作,以及如何利用Deferred的新功能来实现新的客户端。 第十四部分到第十六部分转向了测试...

    嵌入式系统Linux内核开发工程师必须掌握的三十道题

    ### 嵌入式系统Linux内核开发工程师必须掌握的三十道题解析 #### 1. Linux内核中有哪些重要的数据结构? Linux 内核中包含了许多关键的数据结构,例如进程控制块(Process Control Block, PCB)、文件描述符表、...

    Twisted系列教程.pdf

    #### 第八至第十八部分:从使用Deferred的诗歌下载客户端到Deferreds全貌 - **使用Deferred的诗歌下载客户端**:这部分内容通过一个具体的示例来展示了如何使用Deferred来构建高效的客户端程序。 - **更多关于回调的...

    第十三节 异常处理1

    `recover`通常在deferred函数中使用,因为它只能在defer函数的执行上下文中捕获到`panic`。当`recover`在`panic`之后的defer函数中被调用时,它会返回`panic`的值,并阻止程序的进一步崩溃。 下面是一个使用`...

    WebUploader文件秒传、断点继传.docx

    var deferred = WebUploader.Deferred(); owner.md5File(file) .progress(function(percentage) { // 显示进度 var percent = parseInt(percentage * 100) + '%'; console.log('Percentage:', percent); }) ....

    oracle初始化参数学习

    #### 三、初始化参数文件的位置 在不同的操作系统上,初始化参数文件的位置也有所不同: - **Windows**: - `product\10.2.0\db_1\database\SPFILE<SID>.ora` - `product\10.2.0\db_1\database\SPFILE.ora` - `...

    jQuery源码分析系列_1.6

    #### 十三、类型转换器 1. **转换器**:jQuery内部定义了一系列类型转换器,用于处理Ajax响应的数据格式转换,如JSON到JavaScript对象的转换。 #### 十四、动画分析和扩展Effects 1. **基本动画**:支持`.fadeIn...

    15天学会jQuery.rar

    第十三天:实战项目 - 练习创建一个简单的jQuery驱动的网页 - 学习如何将所学知识应用于实际项目 - 优化项目代码,提高代码质量和可维护性 第十四天:调试和错误处理 - 学习使用开发者工具进行jQuery代码调试 - ...

    twistd.pdf

    #### 三、异步编程与Twisted - **异步编程简介**:异步编程是一种编程范式,允许程序在等待某些耗时操作(如I/O)完成的同时继续执行其他任务。这种方式可以显著提高应用程序的效率和响应性。 - **Deferreds概念**:...

    jquery学习文档

    **第十三天:响应式设计** 1. 使用jQuery配合媒体查询实现响应式布局。 2. 学习如何动态调整元素的显示和隐藏。 **第十四天:jQuery与其他库的协作** 1. 了解如何在jQuery项目中集成其他JavaScript库,如Bootstrap...

    jQuery源码分析(1.7)

    #### 三、构造jQuery对象 - 源码结构和核心函数 1. **源码结构**:jQuery的核心是一个函数,该函数接受一个文档对象模型(DOM)作为参数,并返回一个包含所有匹配元素的集合。这个函数被称为`jQuery`或`$`。 ```...

    Windows驱动开发技术详解,全23章完整版

    11. **第二十三章:案例分析与实战** - 实战驱动编写:通过具体案例演示驱动开发的全过程。 - 调试技巧:如何使用WinDbg等工具进行驱动调试。 学习这些内容,开发者将能够具备独立设计、实现和调试Windows驱动...

    信用证概述(ppt 79页).pptx

    据统计,UCP500中有几个条款如第九条、第十三条、第十四条等,因为引发的争议较多,成为修订的重点。 信用证的不可撤销性意味着,一旦受益人接受并提交符合信用证条款的单据,银行必须履行付款义务。如果信用证被...

    chx03_org05_MIPS_4b.pdf

    MIPS 架构以其高效能、低成本和短设计周期而受到广泛认可,特别是在二十世纪八十年代后的多种设备中,如 NEC、任天堂、Silicon Graphics 和索尼的产品中。 MIPS 指令系统设计的关键特点包括: 1. **Load-Store ...

    jquery 学习笔记

    ### 第十三至十五天:插件与高级应用 - **jQuery插件**:学习如何使用和编写jQuery插件,增强功能和复用性。 - **响应式设计**:结合jQuery实现响应式布局,如基于窗口尺寸的动态布局。 - **实战项目**:通过一个小...

    jquery基础教程06

    - **内置插件**:如`$.Deferred()`用于处理异步流程。 - **第三方插件**:如使用插件进行日期选择、图片轮播等功能。 - **开发自定义插件**:通过扩展`$.fn`来创建新的功能。 #### 七、jQuery与HTML5的结合 - **...

    15天搞定jquery

    **第八至十五天**:巩固以上知识点,同时学习更高级的应用,如AJAX的更多特性(如Promise和Deferred)、复杂的DOM操作、事件监听器的优化、性能调优以及jQuery与其他库的集成。 通过这15天的学习,你应该能熟练地...

    jQuery1.2API文档

    后续版本如1.3引入了Sizzle选择器引擎,1.4对性能进行了优化,1.5引入了 deferred 对象以支持Promise模式。 通过阅读和实践jQuery1.2的API文档,开发者不仅能掌握JavaScript库的基础用法,还能了解jQuery的设计哲学...

    jquery入门教程.pdf

    例如,避免全局变量污染、使用链式调用减少代码冗余、以及利用jQuery的`deferred`对象处理异步操作等。 #### 九、jQuery工具函数:扩展功能边界 除了核心功能外,jQuery还提供了一系列工具函数,如`$.extend()`...

    MemoryMgmt开发资料

    #### 三、良好实践预防内存相关问题 (Good Practices Prevent Memory-Related Problems) 为了预防内存泄漏或释放错误等问题,开发者应遵循以下最佳实践: 1. **使用分析工具调试内存问题** (Use Analysis Tools to...

Global site tag (gtag.js) - Google Analytics