2017-09-09 4 views
0

$.postクエリからjqXHRオブジェクトを受け取りました。done機能が含まれています。しかし、私はこの関数がjqXHRオブジェクトだけを返すことに気付きました。なぜjqXHR.done()はjqXHRオブジェクトを返しますか?

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

私はそれをどのように解釈しますか?

+0

'jqXHR'オブジェクトは、ネイティブXMLHttpRequestオブジェクトのスーパーセットです。 jQueryでは遅延オブジェクトであり、遅延オブジェクトにはjQueryメソッドもあります。これらのメソッドのうちの1つは 'done()'であり、 'done()'も遅延オブジェクトを返します。まったく同じオブジェクトを比較し、オブジェクトをそれ自身と比較するとtrueを返します。 – adeneo

+0

XMLHttpRequestがdone()でそれを返す理由は何ですか?私はそれを「真の」価値として解釈すべきでしょうか? –

答えて

2

jqueryのAJAX呼び出し以来の約束、done()のいずれか、fail()always()を返し、then()機能プロミスが正しく機能するためにはjqXHRオブジェクトを返します。

詳しい情報はここで見つけることができます:
http://api.jquery.com/jQuery.ajax/#callback-functions

関連する問題