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

添加处理程序,无论延迟对象被受理(done)还是被拒绝(fail),处理程序都会被执行。

参数可以是单个函数,也可以是函数数组。无论延迟对象被受理(done)还是被拒绝(fail),alwaysCallbacks 始终都会被执行。由于 deferred.always() 返回的是延迟对象,所以可以链接其它的延迟对象,包括额外的 .always() 方法。无论延迟对象被受理(done)还是被拒绝(fail),所添加的处理程序都会按照它们被添加的顺序被执行,并且可以使用传递给如下方法的参数: resolve , reject , resolveWith rejectWith 。了解更多内容,请参见如下文档 延迟对象

示例:

由于 jQuery.get() 方法返回 jqXHR 对象,该对象继承自延迟对象,所以我们可以使用 deferred.always() 添加回调函数,无论延迟对象被受理(done)还是被拒绝(fail),该回调函数都会被调用。

jQuery 代码:

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