deferred.always()

deferred.always( alwaysCallbacks [, alwaysCallbacks ] )返回类型:Deferred

描述: 添加在延迟对象被解决或被拒绝时要调用的处理函数。

此参数既可以是一个函数,也可以是函数的数组。当延迟对象被解决或被拒绝时,就调用alwaysCallbacks。因为deferred.always()返回延迟对象,所以延迟对象的其它方法可以连缀到此方法后面,包括额外的.always()方法。当延迟对象被拒绝或被拒绝时,按添加回调函数的顺序执行回调函数,使用在调用resolve方法、reject方法、resolveWith方法或rejectWith方法时提供的参数。欲进一步了解,请参阅延迟对象

注意:deferred.always()方法接受用于Deferred对象的.resolve()方法或.reject()方法的参数,它们通常很困难。出于这个原因,最好只用它来做不需要检查参数的操作。在所有其它情况下,请用显式的.done()处理函数或.fail()处理函数,因为这些参数有公认的顺序。

示例:

因为jQuery.get()方法返回一个jqXHR对象,它派生自一个延迟对象,所以我们可以利用deferred.always()方法,针对success和error附加一个回调函数。

1
2
3
$.get( "test.php" ).always(function() {
alert( "$.get completed with success or error callback arguments" );
});