次のシナリオで jQuery deferreds を使用していることは知っています。
非同期リクエストがあります。このリクエストが戻ってくるたびに、コードの 1 つ以上のセクションを実行したいと思います。
これが私の問題です。最初の .when ステートメントに到達するまで、非同期リクエストを実際に送信したくありません。
例えば:
さまざまなデータ要求に対して、たとえば 50 の異なる遅延オブジェクトをロードする init 関数があります。必要なときにだけ、これらすべてを一度に起動したくないのは明らかです。データは、将来の .when ステートメントでロードされます (遅延オブジェクトが解決されます)。
ちょっと複雑ですが、読んでくれてありがとう!:D
これが私たちが持っているものです
init() = 関数 { var data1 = someDeferredRequest(); //何とか、これらの多く }
.doSomethingElse() = function { // data1 への呼び出しは、以下のインスタンスのように、取得しようとする最初のインスタンスでのみ開始されるようにします。init $.when(data1).then(); で起動したくありません。
//other stuff, still want data1 to be completed by here
$.when(data1).then();
}