問題タブ [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.
json - node.js で再帰関数を約束する
アプリケーションの制御フローにbluebirdを使用しています。promisifyを実装して再帰関数をプロミスに拡張しようとしていますが、「then」メソッドが実行されなかったようです
ある JSON オブジェクトから別の JSON オブジェクトへのマッピングを行っています。find 関数は JSON プロパティを再帰的に調べ、特定の条件に基づいてプロパティを返します。
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
node.js - Q を BlueBird (または Vow) に移行する
現在、Node/amqp アプリで Q promise ライブラリを使用しています。Q と BlueBird や Vow などのライブラリのパフォーマンスはあまり良くないという記事を読みました。
残念ながら、BlueBird (または Vow) を使用して現在の Q 使用パターンを置き換える方法がわかりません。
次に例を示します。
言及する必要がありました-私はTypeScriptを使用しています...この例では、amqplibの約束を取り、それからQの約束を作成しています(amqplibの約束が好きではないため)。BlueBird または Vow でそれを行うにはどうすればよいですか?
別の例は次のとおりです。
そのパターンはどのように実装されていますか?
したがって、私の一般的な質問は次のとおりです。
- 私が読んだパフォーマンスの違いは本当ですか?
- これら 2 つのパターンに焦点を当てて、Q から BlueBird または Vow に移行するにはどうすればよいですか (ただし、「then」の使用についての説明も素晴らしいでしょう)。
javascript - 明示的なプロミス構築のアンチパターンとは何ですか? また、それを回避するにはどうすればよいですか?
私は次のようなコードを書いていました:
これはそれぞれ「遅延アンチパターン」または「Promise
コンストラクターアンチパターン」と呼ばれていると誰かが私に言いました。このコードの何が悪いのか、なぜこれがアンチパターンと呼ばれるのですか?
promise - このコードから Deferred を削除する方法
BlueBird と amqplib を使用した TypeScript です。敗者だけが「延期」を使用することをどこかで読みましたが、敗者になりたくありません(少なくともこの理由で)。だから私はこれなしでこれを書き直そうとしました-無駄に(まだ):
同様の方法をすべて変換し、これでいくつか実行しましたが、不足し続けています。おそらく、2 つの値 (ack の約束と応答の約束) を返そうとしているためかもしれませんが、実際には、埋め込みハンドラーを呼び出した結果の最終的な結果の約束を返そうとすることに関係していると思います-遅延を使用しません。
あなたは(してください)もっとうまくできますか(または延期してもいいと教えてください)?
node.js - Bluebird で pg.connect を手動で約束する
コールバックで提供されるpg.connect
内部メソッドとともに、node-postgres のメソッドを約束したいと思います。connection.query
後者はできますが.promisify
、最初のものは手動で実装する必要があります (ここで何か不足している場合は説明してください)。
問題は、このコードが正しいかどうか、または改善する必要があるかどうかわかりません。コードは機能しています。Bluebird を意図したとおりに使用しているかどうかを知りたいだけです。
javascript - promise は非同期ライブラリでどのように機能しますか?
約束のあるドキュメンテーションは恐ろしいものです。データベースハンドルに接続し、高速ルートのようなものを実行する正しい方法は何ですか?
だから今、私は dbh を持っていPromise
ます。ルートで何をするか...
次のようなことをする正しい方法はありますか...
もしそうなら、それは実際に