問題タブ [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.

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

javascript - Q.all() の約束が延期された約束を正しく解決しない

サーバー上にオブジェクトを作成するために、POST を複数回呼び出しています。POST は promise でラップされています。promise の配列を作成して Q.all に渡しますが、解決されると、配列内のすべてのオブジェクトが同じ ID を持ち、サーバー上にオブジェクトが 1 つだけ作成されます。

これが私のコードです

結果は、すべて同じ ID を持つオブジェクトを返します。なぜかわからない?誰にも提案はありますか。

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

javascript - Q promises - スコープはどのように機能しますか?

Q promise のスコープはどのように機能しますか? 私の知る限り、「then」のコールバックは setTimeout のようにウィンドウによって呼び出されます。

この例では (それがどのように機能するかを理解するための単なる例です):

foo のインスタンスにテキストを含めるには、bind を使用しています。

他に方法はありますか?

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

angularjs - ドロップダウンの初期値を設定する $resource および $q

次のようなデータ サービスがあります。

次に、これらの場所を使用して、ビューにドロップダウンを設定します。

コントローラーのドロップダウンの初期値を次のように設定したい:

これは機能しません。$resource の非同期の性質のためだと思います。まだリストがないため、設定できません。

$q がこれに対処するように設計されていることは知っていますが、プロミスを作成して設定する方法がわかりません

満たされたら

私は $q と $resource のドキュメントを読みましたが、私が行っているように簡単な get を実行し、get promise が満たされた後に関数/アクションを実行する方法の良いコード サンプルをまだ見ていません。

ありがとう。

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

node.js - Promise をいつ拒否/解決するか

いつ約束を拒否する必要があるかを考えています。このトピックに関するいくつかの質問を見つけましたが、適切な回答が見つかりませんでした。 いつ約束を拒否する必要がありますか?

この記事 http://howtonode.org/6666a4b74d7434144cff717c828be2c3953d46e7/promises は次のように述べています。

  • 解決: 成功した Promise は「解決」され、待機中の成功リスナーを呼び出し、接続されている将来の成功リスナーのために解決された値を記憶します。解像度は戻り値に相関します。
  • Reject: エラー条件が発生すると、Promise が「拒否」され、待機中のエラー リスナーが呼び出され、接続されている将来のエラー リスナーのために拒否された値が記憶されます。拒否は、スローされた例外に関連しています。

これは原則的なガイドラインですか?例外が発生した場合にのみ約束を拒否するということですか?

しかし、次のような関数の場合

結果を検証せずにチェーンを続行できるように、関数がユーザーを返すことを期待します

ベスト/一般的なプラクティスは何ですか?

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

javascript - Q - 一連の promise を実行し、DAG でそれらの間の依存関係を定義する

それぞれの出力を他のデータへの入力として使用できる一連のデータを処理したいと思います。

例えば:

これは、が完了すると、その出力が と の両方にa1送信されることを意味します。これらが完了すると、両方の出力が に送信されます(両方が完了した場合のみ。 、、、およびのすべてと並行して実行される場合があります。また、 と並行して実行される場合があります。これらの間には定義されていないためです。b1b2c1x1a1b1b2c1b1b2depends

と が完了するc1x1、したがって 5 つすべてが完了すると、5 つすべての出力が返されます。

循環依存関係が定義されていないため、有向非巡回グラフ (DAG) であると仮定します。

Qを使用してこれを実装する方法を知りたいのですが、理由は次のとおりです。

  • データの処理はすべて非同期であるため、コールバック、または deferred と promise のいずれかを使用する必要があります。そして私は後者を好みます
  • Promise は、グラフのエッジを定義する便利な方法としても機能します。

しかし、私はこれを概念段階を過ぎて取ることができませんでした

(私の質問に必要なポイントを説明するためだけに、このコードはテストされておらず、動作するとは思わないことに注意してください。)

私が知りたいのですが:

  • 私はこれを正しく行っていますか?私はQ図書館の要点を完全に見逃していますか?または遅延と約束で?
  • 私の主な関心事はdoData関数にあります:

    /li>
  • doBatch関数を使用すると:

    /li>
  • 全般的

    /li>
0 投票する
2 に答える
5989 参照

angularjs - promise then() 関数エラーを返す新しい Angular.js 1.1.5 リソースに別のリクエストが続く

リソース呼び出しで約束を返す最新の Angular.js 1.1.5 を使用しています。これらに依存する別のリクエストが続く複数のリクエストがある場合、どのような実装が正しいでしょうか?

このため、エラーが発生します。

TypeError: オブジェクト # にはメソッド 'then' がありません

template は、リソースを返す次のファクトリです。

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

node.js - Firebase を使用して配列を返す

Node.jsFirebase を使用するときに Q ライブラリ (または同様のライブラリ、私は部分的ではありません)でデータの配列を返す最適な使用例を見つけようとしています.on("child_added")

使用してみましQ.all()たが、約束が満たされるのを待ってから戻ることはないようです。これは私の現在の例です:

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

javascript - AngularJS の deferred.resolve()

すべての新しい画像が読み込まれるまで、ng-view の変更を傍受し、「loading div」オーバーレイを読み込む必要があります。

HttpInterceptor で promises コールバックを一時停止しようとしていますが、2 回目には promises を解決できません。

ここに例があります:

http://jsfiddle.net/Lmvjh/

globalForTest.resolve(value) を呼び出そうとすると、エラーも何も起こりません。

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

javascript - Q promise の例を単純化する方法

最初の呼び出しの結果を次の呼び出しに渡す、連続した ajax 呼び出しを行う単純なアプリケーションに取り組んでいました。

もちろん、コールバック地獄には行きたくないので、Promises/A+仕様の例とQ ライブラリを調べます。

必要な結果になるはずの非同期関数を用意しました。しかし、Sequential promise の受け渡しを単純化する方法についての洞察が必要です。

今のところ、promise と deferred オブジェクトを最適に操作する方法についてまだ読んでいます。非常に素朴なコードを許してください。

だから今、私は2つのことを見ています:

  • promise の順序付けを単純化する方法 (私の場合のように互いに依存しています)
  • 提案

    /li>

よろしくお願いします!