jquery源码学习之deferred
更新日期:
deferred API
延迟对象,在jQuery的1.5引入,是通过调用jQuery.Deferred()方法创建一个可链式调用的工具对象。 它可以注册多个回调到回调队列, 调用回调队列,准备代替任何同步或异步函数的成功或失败状态。
jQuery.Deferred()
一个构造函数,返回一个链式实用对象方法来注册多个回调,回调队列, 调用回调队列,并转达任何同步或异步函数的成功或失败状态。
;
|
|
deferred.always()
deferred.always( alwaysCallbacks [, alwaysCallbacks ] )
Returns: Deferred
当Deferred(延迟)对象解决或拒绝时,调用添加处理程序。
deferred.done()
deferred.done( doneCallbacks [, doneCallbacks ] )
Returns: Deferred
doneCallbacks : 函数或函数数组
当Deferred(延迟)对象解决时,调用添加处理程序。
deferred.then()
deferred.then( doneFilter [, failFilter ] [, progressFilter ] )
;
|
|
deferred.when()
jQuery.when( deferreds )
deferreds : 一个或多个延迟对象,或者普通的JavaScript对象。
如果一个参数被传递给jQuery.when() , 并且它不是一个Deferred或Promise对象, 那么它会被当作是一个被解决(resolved)的延迟对象,并且绑定到上面的任何 doneCallbacks 都会被立刻执行。
|
|
deferred.progress()
deferred.progress( progressCallbacks )
Returns: Deferred
progressCallbacks : 函数或函数数组。
当Deferred(延迟)对象生成进度通知时,调用添加处理程序。