問題タブ [jquery-deferred]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
9 に答える
128566 参照

javascript - Deferred の配列を $.when() に渡します

何が起こっているかの不自然な例を次に示します: http://jsfiddle.net/adamjford/YNGcm/20/

HTML:

JavaScript:

「全部やった!」が欲しい すべての遅延タスクが完了した後に表示されますが、$.when()遅延オブジェクトの配列を処理する方法を知らないようです。"すべて完了!" 配列は Deferred オブジェクトではないため、最初に発生しているため、jQuery は先に進み、それが完了したと想定します。

オブジェクトを次のように関数に渡すことができることは知っています$.when(deferred1, deferred2, ..., deferredX)が、解決しようとしている実際の問題で実行時に Deferred オブジェクトがいくつあるかは不明です。

0 投票する
1 に答える
1189 参照

javascript - jQueryで遅延オブジェクトラッパーを作成する方法はありますか

私は新しいjQuery.Deferredオブジェクトについてたくさん読んでいます。本当に便利なことの1つは、既存のオブジェクトを遅延オブジェクトに変換できることです。そうすれば、データの取得元について100%の柔軟性が得られます。

私はの線に沿って何かを考えています

このメソッドがすでに存在するかどうか、またはどのように作成するかを誰かが知っていますか?

0 投票する
3 に答える
14401 参照

javascript - 同時ajaxリクエストでjQuery when/then/fail:どのリクエストが失敗しましたか?

「foo」と「bar」の同時リクエストが正常に完了した後に何かを実行するシナリオを想像してみてください。または、どちらかまたは両方が失敗した場合にエラーを報告します。

1) 'foo' のリクエストが失敗したか、2) 'bar' のリクエストが失敗したか、または 3) 両方が失敗したかを判断するにはどうすればよいですか?

0 投票する
1 に答える
1734 参照

javascript - jQuery Deferred コールバックの引数は何ですか?

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

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

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

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

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

0 投票する
8 に答える
18966 参照

javascript - jQuery.when-すべての遅延が「未解決」(解決または拒否)でなくなったときのコールバック?

複数のDeferredオブジェクトがjQuery.whenに渡されると、メソッドは、渡されたすべてのDeferredの集約状態を追跡する新しい「マスター」DeferredオブジェクトからPromiseを返します。

方法はどちらかになります

  1. すべての遅延が解決されるとすぐにマスター遅延を解決する、または
  2. 延期の1つが拒​​否されるとすぐに、マスター延期を拒否します。

マスターDeferredが解決された場合(つまり、すべてのDeferredが解決された場合)、jQuery.whenに渡されたすべてのDeferredの解決された値が渡されます。たとえば、DeferredsがjQuery.ajax()リクエストの場合、引数は、引数リストで指定された順序で、リクエストのjqXHRオブジェクトになります。

Deferredの1つが拒​​否された複数のDeferredの場合、jQuery.when IMMEDIATELY FIRESは、その時点で一部のDeferredがまだ解決されていない場合でも、マスターDeferredの失敗コールバックを実行します。

すべてのDeferredがjQuery.whenに渡されたときに、コールバックを起動する必要があります。200個のOKコードでJSONオブジェクトを送信し(代わりに404個のNot FoundエラーステータスコードでJSONを送信)、done()メソッドで成功/エラーを判断できますが、APIをRESTfulに保つことをお勧めします。どうすればこれを達成できますか?

0 投票する
3 に答える
1141 参照

jquery - 新しいjQuery 1.6 $.animate「約束」とコールバックの使用の違いは?

ここを参照してください: http://blog.jquery.com/2011/05/03/jquery-16-released/

この新しいフォーマットの違いは何ですか:

そして古い:

0 投票する
1 に答える
1315 参照

jquery - 延期されたjQueryajaxキャッシュ(重複するリクエストが同時に発生した場合)

堅牢なajaxキャッシュを実装し、適切なパターンを探したいと思います。おそらく、新しいjquery1.5.2遅延オブジェクトを使用します。

ここでの一番の答え:

jQuery deferredはどのように使用できますか?

近づいていますが、失敗するのは、2つのajaxリクエストが同時に発生した場合でも、サーバーへのリクエストは2つあります。応答がまだ入っていないため、キャッシュにはまだデータが入力されていません。

サーバーに対して1つのリクエストのみを起動するが、両方にレスポンスを返す実装が必要です。

0 投票する
1 に答える
42295 参照

ajax - jqueryのpromiseメソッドは実際にどのように機能しますか?

私は本当に何delegatepromiseあるかを理解していません。

ドキュメントによると-

  • delegateセレクターとイベントをある種のラッピングコンテナーにバインドし、後で現在および将来のアイテムに再び使用できるようにします。
  • promise()新しくロードされたすべてが一致する場合、最初にバインドされたときまで物事を再マップします。たぶん私はこの約束の方法を本当に理解していません。

ラッパーがまだ存在しているが、ラッパーコンテナの内容が変更されているか、経由でリロードされている場合はどうなりますAjaxか?初めてバインドされたときのように、イベントがトリガーまたは機能しないのはなぜですか?

そして、はい、私はドキュメントページに行ったことがあります、私は彼らの説明を完全に理解していません。

0 投票する
2 に答える
6516 参照

jquery - .each()で延期されたJQuery

変更されたすべてのフォームを検出し、それぞれをAjax投稿として送信する関数で、JQueryの遅延メソッドをどのように使用できるかについてのアイデアはありますか?

大量のフォーム送信をリストするだけでも同じことが機能しますが、使用する場合は...

私が機能させようとしているコードのより完全なバージョンはここにあります... JSフィドルで

前もって感謝します!