問題タブ [q]
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.
javascript - Q 連鎖非同期
この時点で、非同期プロミスの連鎖について同僚といくつかの議論があります。Qではサポートされていないと言いますが、サポートされていると言っていますが、有効な回答は得られません。多分あなた達ができるようにしてください!
ここに問題があります。非同期があります。
これで、他の関数の応答に依存するいくつかの関数ができました
今、私はこれがそうでなかったらいいのにと思います。このようなことができたらいいのに
明らかに、その 2 番目のバージョンは機能しません。
本当に私が求めているのは、線形非同期操作に関するものです。自分自身の死のピラミッドを成長させないことは可能ですか?
愛する、
マイケル
node.js - Q を使用して複数のサブチェーンを持つチェーンを再帰的に生成する
基本的に、各ノードがその親への参照を持つツリーを設定しようとしています。私は次のことを試しました:
問題は、一度に 1 つのノードのみを作成し、そのノードの作成が完了するまで待ってから、次のノードに移動する必要があることです。現在の動作方法では、最初のノードが完了する前に新しいノードの作成を開始するため、問題が発生します。いくつかの方法で関数をネストし、Q.fcall() を使用してみました。複数の子ノードに対して返されるID が必要ですasync_create_node
。それ以外の場合は、再帰を使用します。
angularjs - AngularJS の約束は、完了時に「then」コールバックを呼び出していません
スコープにいくつかのものを設定するマスターコントローラーのようなものがあるので、内部コントローラーはそれを使用できます。
そのセットアップ作業は非同期なので、promise でラップしましたが、既に解決されていない限り、コールバックを実行していません (ブレークポイントを設定しようとしましたが、十分に待機すると、実際にthen
コールバックが実行されます)。
これは、ネットワーク要求ではなくタイムアウトで私の問題を再現するフィドルです: http://jsfiddle.net/LMv8v/1/
HTML
Javascript
「timeout」は表示されますが、「then...」メッセージは表示されません。
(これがサービスに適していることはわかっていますが、ネストされたスコープを持つコードがすでにたくさんあり、リファクタリングを開始する前にそれを機能させたいと考えています)
random - ある範囲で一様分布の乱数を生成する
qを使用して、[a、b]などの範囲で均一に分布する乱数を生成するにはどうすればよいですか?
私はいくつかの解決策を見つけましたが、本当に言えば、それらの解決策は範囲内の乱数を生成するため、それを書き直す方法がわかりません (0:1].
javascript - JavaScript Q ライブラリで同期の約束をすることはできますか?
次のようなことをしたい:
したがって、遅延の実装は以前に何度も実証されています。
しかし、node.js で上記を実行すると、次のようになります。
私が期待するものではなく:
https://github.com/kriskowal/q/wiki/Examples-Galleryで提供されている例では、promise 関数でチェーンされた同期関数 (コールバックを伴わずに値を返す関数) の例を見つけることができません。
同期アクションと非同期プロミスを混在させる方法はありますか?
私はもう試した:
そして、これは以下を出力します:
.. まだ私が達成しようとしているものではありません。
javascript - Breeze JS でクエリをキャンセルする
BreeseJS で実行しているクエリをキャンセルする方法はありますか。クエリがサーバー側で実行されるかどうかはあまり気にしませんが、メソッドまたは何かを呼び出して、thenを使用して promise に割り当てたメソッドを呼び出さないようにすることができればいいと思います。だから、私のコードが次のように見えるとしましょう
thenで指定した関数を呼び出さないように、後で約束を使ってできることはありますか。
node.js - 約束のあるwhileループ
約束を伴うwhileループのようなことをする慣用的な方法は何でしょうか。そう:
状態が変わらない場合は何かを行い、もう一度やり直してから別のことを行います。
私はこの方法でそれを行いましたが、より良い/より偶像的な方法があるかどうか疑問に思っていましたか?
出力: 1 2 3 4 5 6 7 8 9 10 11 完了