jQuery deferred.then() 方法


jQuery deferred.then() 方法


实例

添加 .then 方法

$(function () { $.get("test.php").then( function(){ alert("$.get 成功"); },
function(){ alert("$.get 失败!"); } ); })

试一试

定义和用法

deferred.then() 函数当Deferred(延迟)对象被解决,拒绝或仍在进行中时,调用添加处理程序。

注意: 1. 参数可以为 null 。或者使用.done(),.fail()或者 .progress()只设置一种未经过滤的状态或值的回调类型。

2. 从jQuery 1.8开始, 方法返回一个新的 promise ,可以通过一个函数过滤 deferred(延迟)对象的状态和值,用来替换现在过时的deferred.pipe() 方法。

3. 回调是依照他们被添加时的顺序执行的,由于 deferred.then 返回 Promise 对象,可以链接其它的 Promise 对象,包括附加的 .then() 方法。

语法

方法一

deferred.then( doneFilter [, failFilter ] [, progressFilter ] )

方法二

deferred.then( doneCallbacks, failCallbacks [, progressCallbacks ] )
参数 描述
_doneFilter_ Function类型 可选 当Deferred(延迟)对象得到解决时被调用的一个函数。
_failFilter_ Function类型 可选 当Deferred(延迟)对象拒绝时被调用的一个函数。
_progressFilter_ Function类型 可选 当Deferred(延迟)对象生成进度通知时被调用的一个函数。
参数 描述
_doneCallbacks_ Function类型 当Deferred(延迟)对象得到解决时被调用的一个函数或函数数组。
_failCallbacks_ Function类型 当Deferred(延迟)对象拒绝时被调用的一个函数或函数数组。
_progressCallbacks_ Function类型 当Deferred(延迟)对象生成进度通知时被调用的一个函数或函数数组。

更多实例

过滤解决值
过滤解决值。

过滤拒绝值
过滤拒绝值。

链任务
链任务。