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

javascript - Nodeのコードスタイルについて

編集

すべての答えに感謝し、最終的にStep
ようなツールを使用することにしました。

私が必要とするのは「フロー制御」だけであり、パフォーマンスを低下させる可能性のあるものは他に必要ありません(正確にどれだけ影響するか、または影響を無視できるかはわかりません)。

そこで、フロー制御用の小さなツールを作成します。

line.js

利用方法:

お役に立てれば。

編集終了


よく知られているように、
Node の組み込みモジュールまたはサードパーティ モジュールは、多くの場合、非同期 API を提供し
、結果を処理するために「コールバック」関数を使用します。

クールですが、次のようにコーディングすることがあります。

このようなコードは読みにくいです。

「遅延」ライブラリがそのような問題を解決できることは知ってい
ますが、Node.js 用の適切な「遅延」モジュールはありますか?
また、「deferred」で Node をコーディングした場合のパフォーマンスはどうですか?

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

jquery - jQueryの遅延オブジェクトと実行中の関数を順番に

$.ajaxを使用してcss/js / jst(javascriptテンプレート)をロードするこのコードがあり、リクエストの後にリクエストを実行し、一度に1つだけ実行し、非同期で実行するようにしたいと思います。

現在、そのコードは起動時にすべてのリクエストを実行します。deferred.resolve()が呼び出されるのを待ちますが、iterateWhen()ループがdeferreds[]の反復を開始するのを待ちません。

jQueryのドキュメントによると、$。Deferred()はオプションの引数として関数を受け入れ、コンストラクターから戻る前にその関数を実行するので、それが問題ですが、私は自分が望むことを実行するソリューションを知りません。

よろしく!

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

jquery - jQuery $.Deferred .state() メソッドを呼び出すと、done() メソッドが起動されます

私はアプリでいくつかのテストを行っていましたが、Deferred オブジェクトで .state() を呼び出すと、.done() コールバックが何度も起動されるように見えることに気付きました。

ここで縮小テストケースを作成します

http://jsfiddle.net/vaxilart/ajeGm/

これは正常な動作なのか、それとも何か誤解しているのか疑問に思いました。

前もって感謝します !

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

jquery - jQueryの$.when.apply(null、メソッド)の意味は何ですか?

jQueryで遅延オブジェクトを読んでいます。次の2つの呼び出し方法の違いを教えてください。

  1. $.when.apply(null, a method).done(function(){success callback})
  2. $.when.(a method).done(function(){success callback})

そして、上記の最初の方法にはどのようなケースが適していますか?

前もって感謝します。

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

ajax - dojo.store.JsonRest のような Dojo Deferred のプロパティーを設定できないのはなぜですか?

Deferred オブジェクトの (カスタム ユーザー定義の) プロパティを、同じ Deferred オブジェクトによって返される promise に設定できないのはなぜですか? 私はそれが可能だと思いdojo.store.JsonRestます

非常によく似た処理を行う必要がありますが、JSON 入力を QueryResults() が期待する形式に変換する必要があるため、追加の遅延オブジェクトをチェーンします。その promise を Deferred オブジェクトのプロパティに割り当てると、結果はundefined. ただし、約束を通常の変数に割り当てると、割り当ては機能します。残念ながら、QueryResults にはプロパティを割り当てる必要があります。

xhr()と によって返される約束の違いに問題を煮詰めたと思いますxhr().then()この jsFiddleのコンソール出力を確認してください。

違いは何ですか?どうすれば回避できますか?

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

postgresql - PostgreSQLの遅延制約と開始ブロック

としてマークされた一意の制約を持つテーブルがありますDEFERRABLE INITIALLY DEFERRED;

次に、次のクエリを実行します。

そして、すべてがうまくいきます。しかし、私が実行しようとすると

エラーが発生します。BEGIN ENDブロックを終了するときにPostgresの強制制約がチェックされるのはなぜですか?トランザクションの終了時に制約をチェックするべきではありませんか?この動作を変更するにはどうすればよいですか?

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

gwt - 遅延バインディングを使用したGWTリフレクションGAEはFirefoxで動作し、Chromeでは動作しません。IE

遅延バインディングに問題があります。

私はこのブログのようにそれを作成しました:http: //programmatica.blogspot.com/2007/10/classfornamefullyqualifiedclassnamenewi.html

「GWT.create」でコードがクラッシュしました。ただし、Google App Engineで実行する場合、およびIEとChromeでのみ実行します。コードは、すべてのブラウザでローカルに、FirefoxのGAEでオンラインで正しく機能します。

エラーメッセージはありませんが、IEとFirefoxのcache.htmlを分析すると違います。

IEではClassCast例外が発生しますが、Firefoxでは発生しません。

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

jquery - Jquery:遅延を伴う制御関数フロー

申し訳ありませんが、私は輪になって回っているようです。

プロセスはかなり簡単です

  1. SaveButtonClicked

  2. 関数を呼び出してオフラインデータベーストランザクションを実行し、レコードを更新します

  3. オンラインかどうかを確認します(/*これを行うためにEdNortonの例を使用しました*/)

  4. オンライン呼び出しの場合、トランザクションを選択して、更新されたすべてのレコードをフェッチします

  5. 選択したロードの結果が配列に成功する

  6. 配列を使用してWebサービスを呼び出す

これまで、$。Deferred、dothis = defer.pipe(...)、.queueを使用してフローを制御しようとしました[ただし、これらは関数の完了ではなく要素に基づいているようです]、関数を配列に配置します、

テストでは、コンソールは常に「ビルドアレイ」の前に「アレイビルド」を書き込みます

では、最善のアプローチは何でしょうか?$ .Deffered、キュー、コールバック...ダークマジック?

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

javascript - Deferred.pipe() は、後続の .done と .fail の両方の呼び出しを防ぐことができますか?

onSuccess と onFailure の 2 つのハンドラーがありますが、(サーバーがそのように決定した場合) ときどき、どちらかが実行されないようにする必要があります。andから 'ignore' を返してandハンドラー.pipe()内でテストできることはわかっていますが、 の内部で何かを微調整するなど、よりエレガントな方法はありますか?.done().fail()this.pipe()

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

jquery - JQuery - Deferred オブジェクトの配列の $.when 構文

初めて使用$.whenするので、構文に問題があります。
以下の単純化された例に似たコードがあります。それは機能します(単純化したときにエラーが発生しなかった場合)。customerIds私の問題は、配列に含まれる多くの要素がわからないことです。

$.when次のようにステートメントを書きたいのですが、構文を正しくするのが難しいです。

getCustomerDataCallsは次のように実装されています。

残念ながら、実装に問題があり、どこが間違っているのかわかりません。Deferred私の最善の推測は、 sの配列を返すときに何かがうまくいかないということです

更新:
lanzz が私の不自然な例は既に Deferred を返すと述べた後、コードを更新しました。doSomeWork