deferred.always()


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

描述: 添加当 Deferred 对象被解决或拒绝时要调用的处理程序。

参数可以是单个函数或函数数组。当 Deferred 被解决或拒绝时,alwaysCallbacks 被调用。由于 deferred.always() 返回 Deferred 对象,Deferred 对象的其他方法可以链接到此方法,包括额外的 .always() 方法。当 Deferred 被解决或拒绝时,回调按添加顺序执行,使用提供给 resolverejectresolveWithrejectWith 方法调用的参数。有关更多信息,请参阅 Deferred 对象 的文档。

注意: deferred.always() 方法接收用于 .resolve().reject() Deferred 对象的参数,这些参数通常非常不同。因此,最好仅将其用于不需要检查参数的操作。在所有其他情况下,请使用显式的 .done().fail() 处理程序,因为参数将具有已知的顺序。

示例

由于 jQuery.get() 方法返回一个 jqXHR 对象,该对象派生自 Deferred 对象,因此我们可以使用 deferred.always() 方法附加成功和错误的回调。

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