問題タブ [bluebird]

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 に答える
905 参照

json - node.js で再帰関数を約束する

アプリケーションの制御フローにbluebirdを使用しています。promisifyを実装して再帰関数をプロミスに拡張しようとしていますが、「then」メソッドが実行されなかったようです

ある JSON オブジェクトから別の JSON オブジェクトへのマッピングを行っています。find 関数は JSON プロパティを再帰的に調べ、特定の条件に基づいてプロパティを返します。

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

node.js - Bluebird は、戻り値を持つ関数を約束します

AWS putItem関数で Bluebird の promisify 関数を使用したいと考えています。ドキュメントから、AWS.Request オブジェクトを返すことに注意してください。私はそのオブジェクトには興味がなく、理想的には db.putItem({...}); を呼び出すだけです。Promise を取得します。これは可能ですか?私が試してみたところ、promisify された関数は依然として AWS.Request オブジェクトを返します。これは妥当だと思いますが、この場合は私が望んでいるものではありません。

とりあえずPromiseオブジェクトを作って成功とエラーのデータをresolve/reject promise関数に手動でマッピングしているだけなのですが、戻り値以外にputItem関数(および他の関数の可能性があります) は、promisify に適しているようです。

リクエストに応じて、コードの関連部分を以下に示します。

//datastore.js

//user.js

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

node.js - Q を BlueBird (または Vow) に移行する

現在、Node/amqp アプリで Q promise ライブラリを使用しています。Q と BlueBird や Vow などのライブラリのパフォーマンスはあまり良くないという記事を読みました。

残念ながら、BlueBird (または Vow) を使用して現在の Q 使用パターンを置き換える方法がわかりません。

次に例を示します。

言及する必要がありました-私はTypeScriptを使用しています...この例では、amqplibの約束を取り、それからQの約束を作成しています(amqplibの約束が好きではないため)。BlueBird または Vow でそれを行うにはどうすればよいですか?

別の例は次のとおりです。

そのパターンはどのように実装されていますか?

したがって、私の一般的な質問は次のとおりです。

  1. 私が読んだパフォーマンスの違いは本当ですか?
  2. これら 2 つのパターンに焦点を当てて、Q から BlueBird または Vow に移行するにはどうすればよいですか (ただし、「then」の使用についての説明も素晴らしいでしょう)。
0 投票する
5 に答える
18444 参照

javascript - bluebird を使用して MongoDB ネイティブ Javascript ドライバーを約束するにはどうすればよいですか?

Bluebird promisesでMongoDB ネイティブ JS ドライバーを使用したいと思います。このライブラリでどのように使用できますか?Promise.promisifyAll()

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

javascript - 明示的なプロミス構築のアンチパターンとは何ですか? また、それを回避するにはどうすればよいですか?

私は次のようなコードを書いていました:

これはそれぞれ「遅延アンチパターン」または「Promiseコンストラクターアンチパターン」と呼ばれていると誰かが私に言いました。このコードの何が悪いのか、なぜこれがアンチパターンと呼ばれるのですか?

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

promise - このコードから Deferred を削除する方法

BlueBird と amqplib を使用した TypeScript です。敗者だけが「延期」を使用することをどこかで読みましたが、敗者になりたくありません(少なくともこの理由で)。だから私はこれなしでこれを書き直そうとしました-無駄に(まだ):

同様の方法をすべて変換し、これでいくつか実行しましたが、不足し続けています。おそらく、2 つの値 (ack の約束と応答の約束) を返そうとしているためかもしれませんが、実際には、埋め込みハンドラーを呼び出した結果の最終的な結果の約束を返そうとすることに関係していると思います-遅延を使用しません。

あなたは(してください)もっとうまくできますか(または延期してもいいと教えてください)?

0 投票する
4 に答える
5010 参照

node.js - Bluebird で pg.connect を手動で約束する

コールバックで提供されるpg.connect内部メソッドとともに、node-postgres のメソッドを約束したいと思います。connection.query

後者はできますが.promisify、最初のものは手動で実装する必要があります (ここで何か不足している場合は説明してください)。

問題は、このコードが正しいかどうか、または改善する必要があるかどうかわかりません。コードは機能しています。Bluebird を意図したとおりに使用しているかどうかを知りたいだけです。

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

javascript - promise は非同期ライブラリでどのように機能しますか?

約束のあるドキュメンテーションは恐ろしいものです。データベースハンドルに接続し、高速ルートのようなものを実行する正しい方法は何ですか?

だから今、私は dbh を持っていPromiseます。ルートで何をするか...

次のようなことをする正しい方法はありますか...

もしそうなら、それは実際に