jQuery 知识点 (八) —— 延迟对象

来源:互联网 发布:财务战略矩阵案例 编辑:程序博客网 时间:2024/04/19 21:24
Deferred (延迟)对象:

  类似于委托链的一类对象,但其拥有自身的方法来延迟返回函数的执行的成功或失败状态,该是拥有异步方法和函数回调队列的,jQuery 中常见 由 jQuery.Deferred() 创建的对象和用于 ajax 请求的 XHR 对象都是延迟对象。

延迟对象中的 promise

  promise:一个行为结果的代理,该行为将在将来一个未来时间点发生,而promise就是该行为完成操作时最终的返回值。一个 promise 可以是 unfulfilled、fulfilled 和 failed 三种状态之一,且 promise 的状态只能从 unfullfilled 改变为 fulfilled,或者从 unfullfilled 该变为 failed。一旦一个 promise 的状态为 fullfilled 或者 failed,则 promise 的值就不允许改变。promise 的不可变性确保了它可以被安全传递给其他函数而不会对调用者造成影响。

// deferred.always(alwaysCallbacks[,alwaysCallbacks]) : 当Deferred(延迟)对象解决或拒绝时,调用添加处理程序// deferred.done(doneCallbacks[,doneCallbacks]) : 当Deferred(延迟)对象解决时,调用添加处理程序// deferred.fail(failCallbacks[,failCallbacks]) : 当Deferred(延迟)对象拒绝时,调用添加的处理程序$.get("test.php") .done(function() {  alert("$.get succeeded");}).fail(function(){     alert("$.get failed!"); });// deferred.notify(args) : 根据给定的 args参数 调用Deferred(延迟)对象上进行中的回调 (progressCallbacks)// deferred.notifyWith(context[,args]) : 根据给定的上下文(context)和args递延调用Deferred(延迟)对象上进行中的回调(progressCallbacks )//deferred.progress(progressCallbacks) : 当Deferred(延迟)对象生成进度通知时,调用添加处理程序。// defferred.promise([type][,target]) : 返回一个 Promise 对象,用来观察当某种类型的所有行动绑定到集合,排队与否还是已经完成// deferred.reject(args) : 拒绝Deferred(延迟)对象,并根据给定的args参数调用任何失败回调函数(failCallbacks)// deferred.rejectWith(context[,args]) : Context(上下文) 作为 this对象传递给失败回调函数(failCallbacks )// deferred.resolve(args) : 解决Deferred(延迟)对象,并根据给定的args参数调用任何完成回调函数(doneCallbacks)// deferred.resolveWith(context[,args]) : 解决Deferred(延迟)对象,并根据给定的 context和args参数调用任何完成回调函数(doneCallbacks)//  deferred.state() : 确定一个Deferred(延迟)对象的当前状态。// deferred.then(doneFilter[,failFilter][,progressFilter]) : 当Deferred(延迟)对象解决,拒绝或仍在进行中时,调用添加处理程序// jQuery.Deferred([beforeStart]) : 一个构造函数,返回一个链式实用对象方法来注册多个回调,回调队列,  调用回调队列,并转达任何同步或异步函数的成功或失败状态。// jQuery.when(deferreds) : 提供一种方法来执行一个或多个对象的回调函数, Deferred(延迟)对象通常表示异步事件。// $(selector).promise([type][,target]) : 返回一个 Promise 对象,用来观察当某种类型的所有行动绑定到集合,排队与否还是已经完成
0 0
原创粉丝点击