jQuery の遅延と約束 - .then() と .done() 質問する

jQuery の遅延と約束 - .then() と .done() 質問する

.then()jQueryの遅延と約束について読んでいるのですが、成功したコールバックに&を使用することの違いがわかりません.done()エリック・ハインズ.done()同じ機能にマップされることが言及されていますが、すべてのコールバックが正常な操作の完了時にすべて呼び出されるため、そうなるので.success()はないかと推測しています。.then()

正しい使い方を教えていただけませんか?

ベストアンサー1

にアタッチされたコールバックは、done()遅延オブジェクトが解決されたときに起動されます。 にアタッチされたコールバックfail()は、遅延オブジェクトが拒否されたときに起動されます。

jQuery 1.8 より前は、then()単なる構文糖でした:

promise.then( doneCallback, failCallback )
// was equivalent to
promise.done( doneCallback ).fail( failCallback )

1.8以降では、then()はのエイリアスでありpipe()、新しいプロミスを返します。ここ詳細については をご覧くださいpipe()

success()およびは、の呼び出しによって返されるオブジェクトerror()でのみ使用できます。これらはそれぞれ、 およびの単純なエイリアスです。jqXHRajax()done()fail()

jqXHR.done === jqXHR.success
jqXHR.fail === jqXHR.error

また、done()単一のコールバックに限定されず、非関数を除外します (ただし、バージョン 1.8 には文字列に関するバグがあり、1.8.1 で修正される予定です)。

// this will add fn1 to 7 to the deferred's internal callback list
// (true, 56 and "omg" will be ignored)
promise.done( fn1, fn2, true, [ fn3, [ fn4, 56, fn5 ], "omg", fn6 ], fn7 );

も同様ですfail()

おすすめ記事