3

jQuery では、deferred.thenは、Deferred オブジェクトが解決または拒否されたときに呼び出されるハンドラーを追加します。

deferred.then( doneCallbacks, failCallbacks )
  • doneCallbacks — Deferred が解決されたときに呼び出される関数または関数の配列。
  • failCallbacks — Deferred が拒否されたときに呼び出される関数、または関数の配列。

次の例で、これらの 'done' および 'fail' コールバック関数の引数は何ですか?

Deferred オブジェクトのタイプに依存しますか? 例えば:

$.when({testing: 123})
  .then(function(x){ ... }); 

$.when($.getJSON('foo'))
  .then(function(x){ ... });

「x」の値は異なりますか?

4

1 に答える 1

2

Done フォールバックと Fail フォールバックは、それぞれDeferred呼び出し元resolveWith()との作成者によって呼び出されます。rejectWith()これらの関数が取る 2 つの引数は、コールバックに渡されます。したがって、オブジェクトを作成した関数のタイプに完全に依存しDeferredます。(コンテキストは通常​​、必ずしもDeferredオブジェクト自体ではありません。)

于 2011-04-26T21:26:07.867 に答える