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

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值