jquery $ .when().then()和.done()之间的区别

时间:2013-01-10 13:37:02

标签: jquery

我想了解

之间的区别
$.when(...).then(...)

$.when(...).done(...)

在jQuery中。据我所知,当内部对象完成加载时,它们都会执行。但有什么区别。实例将非常感激。

1 个答案:

答案 0 :(得分:29)

.done()只有成功回调。

.then()同时有成功和失败的回调。

  

从jQuery 1.8开始,deferred.then()方法返回一个新的promise   可以过滤通过a延迟的状态和值   function,替换现已弃用的deferred.pipe()方法。

     

deferred.done()方法接受一个或多个参数,所有参数都是   可以是单个函数,也可以是函数数组。

     

由于deferred.done()返回延迟对象,因此其他方法   延迟对象可以链接到此对象,包括其他对象   .done()方法。解析Deferred时,doneCallbacks是   使用提供给resolve或resolveWith的参数执行   方法按照添加的顺序调用。