返回值:Deferred Objectdeferred.then(doneFilter [, failFilter ] [, progressFilter ])
概述
添加处理程序被调用时,递延对象得到解决或者拒绝。
所有三个参数(包括progressCallbacks ,在jQuery的1.7 )可以是一个单独的函数或一个函数的数组。 其中一个参数,也可以为空,如果没有该类型的回调是需要的。或者,使用.done()或.fail()仅设置doneCallbacks或failCallbacks。当递延解决,doneCallbacks被调用。若递延代替拒绝,failCallbacks被调用。回调按他们添加的顺序执行。一旦deferred.then返回延迟对象,延迟对象的其它方法也可以链接到了这里,包括增加.then()方法。有关详细信息,请参阅文件Deferred object 。
参数
doneFilter [, failFilter ] [, progressFilter ]StringV1.8
doneFilter: 当Deferred(延迟)对象得到解决时被调用的一个函数。
failFilter: [可选]当Deferred(延迟)对象拒绝时被调用的一个函数。
progressFilter:[可选]当Deferred(延迟)对象生成进度通知时被调用的一个函数。
doneCallbacks,failCallbacksStringV1.5
doneCallbacks: 一个函数或函数数组,当延迟成功时调用。
failCallbacks: 一个函数或函数数组,当延迟失败时调用。
doneCallbacks, failCallbacks [, progressCallbacks]StringV1.7
doneCallbacks: 一个函数或函数数组,当延迟解决时调用。
failCallbacks: 一个函数或函数数组,当延迟拒绝时调用。
progressCallbacks: 一个可选的函数,当延迟对象通知进度(progress)时被调用。
示例
描述:
一旦jQuery.get方法返回一个来自延迟的对象的jqXHR对象,我们可以附加一个成功回调使用.then方法。
jQuery 代码:
$.get("test.php").then(
function(){ alert("$.get succeeded"); },
function(){ alert("$.get failed!"); }
);