問題タブ [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 投票する
1 に答える
978 参照

javascript - 延期されたオブジェクトを「未解決」

要するに、延期されたオブジェクトを「未解決」にする方法はありますか?

例:定期的に、またはイベントがトリガーされたときに更新する必要があるデータのリストがあります。.ajax()で作成された遅延オブジェクトを取得し、コールバックを収集するという約束を渡すのは素晴らしいことです。次に、必要なときにいつでもそのajaxリクエストを「起動」し、すべてのコールバックを反応させます。それは可能ですか?

乾杯

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

jquery - jQueryの「遅延オブジェクト/約束」のパフォーマンス?

標準の「成功」および「エラー」コールバックを持つ古い jQuery スタイルの ajax メソッドに対して、新しい jQuery の「約束/遅延オブジェクト」パターンを使用することに伴う重大なパフォーマンスの低下を知っている人はいますか?

「遅延」オブジェクトが現在 AJAX コアに組み込まれているため、先に進む選択肢があまりないことはわかっていますが、測定可能な違いがあるかどうか、新しい「約束」デザイン パターンが実際に古いものよりも効率的であるかどうか疑問に思いました。学校の匿名関数のコールバック?

敬具、マーク

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

javascript - jqueryで複数の遅延呼び出しのajax結果を取得するにはどうすればよいですか?

以下のコードに示すように、jqueryの遅延作業を取得しようとしています。

両方の呼び出しが完了した後、両方の呼び出しから返されたJsonデータを抽出したいと思います。ただし、「result」オブジェクトには、最初の呼び出し(GetData1)によって返されたデータのみが含まれていますか?上記の「then」コールバックメソッドで両方の呼び出しの結果を取得するにはどうすればよいですか。

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

javascript - jQuery.Deferred の "then" コールバックが予期しない動作をする

オブジェクトが編集then()されたときにコールバックが起動していないようです。解決するか拒否するかにかかわらず、実行する必要があるというのが私の理解でした。Deferredrejectthen()Deferred

例を次に示します ( jsFiddle コンソールで開きます) 。

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

jquery - jQuery jqXHR-連鎖呼び出しをキャンセルし、エラー連鎖をトリガーします

サーバーメソッドとインターフェイスするためのajaxユーティリティを作成しています。jQuery.ajax()呼び出しから返されたオブジェクトからjQuery1.5以降の遅延メソッドを利用したいと思います。状況は以下の通りです。

  1. サーバーサイドメソッドは常にJSONオブジェクトを返します。

    { success: true|false, data: ... }

  2. クライアント側のユーティリティは、次のようにajax呼び出しを開始します

    var jqxhr = $.ajax({ ... });

  3. そして問題領域:

    /li>

したがって、問題は、成功コールバックが追加されたすべての呼び出し元の呼び出しをキャンセルして、?????で示された場所でエラーハンドラーをトリガーする方法です。

ドキュメントには、遅延関数呼び出しリストはFIFOであると記載されているため、私の成功ハンドラーは間違いなく最初のものです。

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

jquery - jquery 1.5.1 遅延オブジェクト .when() .then() 混乱

.net 3.5 ページから日付を返す 2 つの webmethods があります。
それぞれ開始日と終了日の文字列をそれぞれ返します。
それらを呼び出して、単純なテストとして両方がアラートとして完了した後に結果を出力しようとしましたが、これを正常に実行できません。
コードをステップ実行すると、グローバル変数がいっぱいになる前にアラートが表示されます。アラートが表示されると、vars が入力されます。私は何を間違っていますか?

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

c# - jquery 1.5 遅延オブジェクトを介した PageMethod への Ajax リクエストが期待どおりに実行されない

データテーブルの各行に対してページ メソッドを呼び出したいコードがあります。各行にはユーザー情報が含まれており、page メソッドは特定の期間におけるそのユーザーに関する追加データを探します。そのようなデータが存在する場合、アイデアは、データを新しい行として現在の行に追加することです。そのようなデータが存在しない場合は、次の行に進みます。

コードを次のように開始します。

まず、ページ メソッドを使用して開始日と終了日を取得します。これはうまくいきます。次に、テーブル内の各データ行に対してメソッドを呼び出そうとします。

これは問題なく動作します。現在のデータ行を次の新しい関数に渡します。

コードをステップ実行すると、行ごとに関数が呼び出され、currDataRow と currUserID が期待どおりに入力され、ajax 呼び出しが実行され、ここに問題があります。呼び出しは行われますが、すべての行の呼び出しが完了するまで、成功関数もエラー関数も呼び出されません。次に、各行に対して success メソッドが呼び出されますが、必要なデータが失われています。

各 ajax リクエストに対して success 関数が呼び出されるようにコードを再構築するにはどうすればよいですか?

洞察をお寄せいただきありがとうございます。

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

javascript - jQuery Deferredがresolve/doneコールバックを順番に呼び出さない

コード例: http://jsfiddle.net/MhEPw/1/

2 つの jQuery Deferred オブジェクトがあります。

複数の「非同期」リクエストを発生させたい - そしてそれらがすべて実行された後、指定された順序でコールバック (.done 関数) を実行する必要があります。残念ながら、それらは順番に実行されません。

Deferred が提供しない機能をここで探しているのではないでしょうか?

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

jquery - jqueryの延期

新しいjQueryDeferredの使い方を学ぶのに苦労しています。

はajax呼び出しを行い、ajax呼び出しのデータを返したいです。

checkIdExists()関数に対してそれを返さないdone()またはfail()関数内で何かを返そうとすると、問題が発生することを私は知っています。これを回避するにはどうすればよいですか?

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

jquery - jquery 1.5で遅延コールバックを停止できますか?

私はあなたがこのようなものを持っていると言うのだろうか

だから私はこう考えています。成功に渡されるすべての応答で使用したい一般的な関数があります。

この関数は基本的に、サーバーの検証でエラーが見つかったかどうかを確認するためのチェックを行います。実行された場合は、フォーマットしてメッセージを表示します。

今、特定のことを行うために2番目の成功関数をどのように持つことができるかどうか疑問に思っています。たとえば、1 つの ajax リクエストでテーブルに行を追加する必要があります。したがって、これは可能なはずです。上記のことを行うだけで、2回目の成功では行を追加するだけです。

最初の成功が実行され、サーバーからの検証エラーがあることがわかった場合、2 番目の成功が起こらないようにすることは可能ですか?

並べ替え

編集

deferred.rejectと呼ばれるものがあることがわかりましたが、これはそれを停止しますが、成功したものだけを停止するように指定するにはどうすればよいでしょうか。私の考えでは、完了のような他の延期されたものがある場合、それも拒否されますか?