jQuery Deferred对象是jQuery提供的一种异步编程的解决方案,它可以帮助我们处理异步任务,使得我们可以在异步任务完成后执行一些操作。
Deferred对象有三个状态:未完成(pending)、已完成(resolved)和已失败(rejected)。当一个Deferred对象处于未完成状态时,可以通过resolve()和reject()方法来将其切换到已完成和已失败的状态。当Deferred对象切换到已完成或者已失败的状态时,会执行done()和fail()方法中注册的回调函数。
// 定义一个deferred对象 var deferred = $.Deferred(); // 注册回调函数 deferred.done(function(data) { console.log('success', data); }).fail(function(data) { console.log('error', data); }); // 将deferred对象切换到已完成状态并传入数据 deferred.resolve('hello world'); // success hello world
jQuery 杂项方法
deferred.reject() 函数用于拒绝延迟对象,并根据给定的参数调用任何 failCallbacks 回调函数。
注意:1. 通常只有延迟对象的创建者才可以调用该方法。你可以通过调用 deferred.promise(),返回一个受限的 Promise 对象,来阻止其它代码改变延迟对象的状态或报告它的状态。
2. 当延迟对象被 rejected 时,任何通过 deferred.then 或 deferred.fail 添加的 failCallbacks,都会被调用。回调函数按它们被添加时的顺序执行。传递给 deferred.reject() 的 args 参数,会传给每个回调函数。当延迟对象进入 rejected 状态后,任何 failCallbacks 被添加时,就会被立刻执行,并带上传入给 .reject() 的参数。
参数 | 描述 |
---|---|
args | Object类型 传递给失败回调函数(failCallbacks)的可选的参数 |
jQuery 杂项方法
jQuery toggle() 方法jQuery 事件方法实例 当点击 p 元素时进行颜色切换:$("p").toggle( function(){$("p").css({"color":"red"...
什么是遍历? jQuery 遍历,意为"移动",用于根据其相对于其他元素的关系来"查找"(或选取)HTML 元素。以某项选择开始,并沿着...
网页中添加 jQuery 可以通过多种方法在网页中添加 jQuery。 您可以使用以下方法:从 jquery.com 下载 jQuery 库从 CDN 中载入 jQ...
AJAX 是与服务器交换数据的技术,它在不重载全部页面的情况下,实现了对部分网页的更新。jQuery AJAX 实例使用 jQuery AJAX 修改...