返回值:Deferreddeferred.always(alwaysCallbacks, [alwaysCallbacks])
添加处理程序,无论延迟对象被受理(done)还是被拒绝(fail),处理程序都会被执行。
-
1.6 新增deferred.always(alwaysCallbacks, [alwaysCallbacks])
alwaysCallbacks (Function) 单个函数或函数数组,无论延迟对象被受理(done)还是被拒绝(fail),这些函数始终都会被执行。alwaysCallbacks (Function) 可选参数, 可选的额外的函数或函数数组,无论延迟对象被受理(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");
} );