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

我试图了解它们之间的区别

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

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

.done()只有成功回调。

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

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

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

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