【问题标题】:Why does jqXHR.done() return jqXHR object?为什么 jqXHR.done() 返回 jqXHR 对象?
【发布时间】:2017-09-10 05:34:10
【问题描述】:

从我的$.post 查询接收到的 jqXHR 对象包含done 函数。但我意识到这个函数只返回它的 jqXHR 对象:

$.post(query, function(a,b,jqXHR) {
  jqXHR === jqXHR.done() //true
});

我该如何解释?

【问题讨论】:

  • jqXHR 对象是原生 XMLHttpRequest 对象的超集。在 jQuery 中,它是一个延迟对象,它也具有延迟对象所具有的 jQuery 方法。其中一种方法是done(),由于done ()返回 延迟对象,您正在比较完全相同的对象,并将对象与其自身进行比较,返回true
  • 那么,在那种情况下,为什么 XMLHttpRequest 会返回 done() 呢?我应该将其解释为“真实”价值吗?

标签: jquery ajax jqxhr


【解决方案1】:

由于 jquery 的 ajax 调用返回一个 Promise,done()fail()always()then() 中的任何一个函数都将返回 jqXHR 对象,以便 Promise 正常工作。

更多信息可以在这里找到:
http://api.jquery.com/jQuery.ajax/#callback-functions

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-29
    • 2020-01-18
    • 1970-01-01
    • 2022-08-16
    • 1970-01-01
    • 2021-12-30
    相关资源
    最近更新 更多