0
收到jqXHR對象從我的$.post
查詢包含done
函數。但我意識到這個函數只返回它的jqXHR對象:爲什麼jqXHR.done()返回jqXHR對象?
$.post(query, function(a,b,jqXHR) {
jqXHR === jqXHR.done() //true
});
我該怎麼理解?
收到jqXHR對象從我的$.post
查詢包含done
函數。但我意識到這個函數只返回它的jqXHR對象:爲什麼jqXHR.done()返回jqXHR對象?
$.post(query, function(a,b,jqXHR) {
jqXHR === jqXHR.done() //true
});
我該怎麼理解?
由於jquery
的AJAX調用返回一個承諾,任何done()
,fail()
,always()
,並then()
功能將在順序返回jqXHR
對象的承諾能夠正常工作。
更多信息可以在這裏找到:
http://api.jquery.com/jQuery.ajax/#callback-functions
的'jqXHR'對象是原生XMLHttpRequest對象的一個超集。在jQuery中,它是一個延遲對象,它也具有推遲對象所具有的jQuery方法。其中一種方法是'done()',而'done()'也會*返回延遲對象,比較完全相同的對象,並將一個對象與自己進行比較,返回'true' – adeneo
因此,在那種情況,爲什麼XMLHttpRequest使用done()返回自己?我應該把它解釋爲「真實」的價值嗎? –