【发布时间】:2014-03-19 07:59:39
【问题描述】:
Since jQuery 1.5 - jqXHR 由$.ajax() 返回的对象实现Promise 接口。
docs 还声明 jqXHR.done 、 jqXHR.fail 、 jqXHR.always 分别是 已弃用 success / fail/ complete 的替代构造。
弃用通知:jqXHR.success()、jqXHR.error() 和 jqXHR.complete() 回调在 jQuery 1.8 中被弃用。准备 您最终删除的代码,请使用 jqXHR.done()、jqXHR.fail()、 和 jqXHR.always() 代替。
好的。(很久以前就知道了)
但后来我看到了async 文档:
async : 从 jQuery 1.8 开始,
async: false与jqXHR ($.Deferred)的使用是 已弃用;您必须使用 success/error/complete 回调选项 代替 jqXHR 对象的对应方法如jqXHR.done()或deprecated jqXHR.success()。
这里的措辞非常不清楚(恕我直言)-因此,我不明白它的含义。
问题:
有什么情况我需要仍然使用success/error/complete?怎么会 ?它们已被弃用!
nb,为什么这么乱?他们像每个版本一样更改和删除方法并替换(!例如管道,然后)
【问题讨论】:
-
逻辑结论:
async: false已弃用。 -
@dystroy真正的问题是
success在被声明为deprecated时仍在使用.... -
@dystroy
async: false未被弃用,但the use of async: false with jqXHR被弃用。 -
@xdazz 这只是个玩笑……暗示这个可怕的东西早就应该被删除了^^
-
@dystroy 不能同意更多:)
标签: javascript jquery