## 返回值:Deferred Objectdeferred.then(doneFilter [, failFilter ] [, progressFilter ])

### 概述

添加处理程序被调用时，递延对象得到解决或者拒绝。

所有三个参数（包括progressCallbacks ，在jQuery的1.7 ）可以是一个单独的函数或一个函数的数组。 其中一个参数，也可以为空，如果没有该类型的回调是需要的。或者，使用.done()或.fail()仅设置doneCallbacks或failCallbacks。当递延解决，doneCallbacks被调用。若递延代替拒绝，failCallbacks被调用。回调按他们添加的顺序执行。一旦deferred.then返回延迟对象，延迟对象的其它方法也可以链接到了这里，包括增加.then()方法。有关详细信息，请参阅文件Deferred object 。

### 参数

#### doneFilter [, failFilter ] [, progressFilter ] String V1.8

doneFilter: 当Deferred（延迟）对象得到解决时被调用的一个函数。

failFilter: [可选]当Deferred（延迟）对象拒绝时被调用的一个函数。

progressFilter:[可选]当Deferred（延迟）对象生成进度通知时被调用的一个函数。

#### doneCallbacks,failCallbacks String V1.5

doneCallbacks: 一个函数或函数数组，当延迟成功时调用。

failCallbacks: 一个函数或函数数组，当延迟失败时调用。

#### doneCallbacks, failCallbacks [, progressCallbacks]String V1.7

doneCallbacks: 一个函数或函数数组，当延迟解决时调用。

failCallbacks: 一个函数或函数数组，当延迟拒绝时调用。

progressCallbacks: 一个可选的函数，当延迟对象通知进度（progress）时被调用。

### 示例

#### 描述:

一旦jQuery.get方法返回一个来自延迟的对象的jqXHR对象，我们可以附加一个成功回调使用.then方法。

##### jQuery 代码:

    $.get("test.php").then(
        function(){ alert("$.get succeeded"); },
        function(){ alert("$.get failed!"); }
    );