問題タブ [request-promise]
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.
node.js - request-promise でリクエストが送信されるのはいつですか?
この質問はrequestに関するもので、 request-promiseにもマップされる場合があります。
次の例では:
リクエストはいつ送信されますか?
Line 1
が呼び出されたときに送信されrp(...)
、返された約束は応答を待つことですか?- それとも
Line 2
、返された約束が実行されたときに送信されますか?
次の例によると、答えは次のとおりですrp(...)
。リクエストを送信しません。実際には、リクエストを送信するために後で実行されるイベントループに呼び出しを追加します。
-
プロセスがイベントループに戻らない場合、リクエストは送信されないという私の試行からのようです。
リクエストをすぐに実行し、後で待つ方法はありますか?
「応答を配信するという約束」で戻る前に、要求が送信されることを保証する別のライブラリはありますか?
編集:
@terry-lenoxx のコメントrequest-promise によると、実際にはリクエストをキューに入れ、リクエストをすぐには送信しません。制御がイベント ループに戻ると、キューに入れられた要求が送信されます。
これは、複数のリクエストをまとめて送信し、後で各レスポンスを結合したいという私の場合に役立ちます。これは、次のように簡単に実行できます。
この動作をテストしたところ、非常に明確です。
node.js - httpSignature で request-promise を使用することは可能ですか?
ドキュメントによると、それは実行可能のようです。
request-promise は request をラップするため、request で機能するものはすべて request-promise でも機能します。その他の例については、リクエスト ドキュメントもご覧ください。
そして、リクエストドキュメントは言う
httpSignature - Joyent のライブラリを使用した HTTP 署名方式のオプション。keyId および key プロパティを指定する必要があります。その他のオプションについては、ドキュメントを参照してください。
リクエスト オプションにパラメータを追加しようとしましたが、うまくいきhttpSignature: {key, keyId}
ますが、リクエストとともに秘密鍵が送信されますが、これは正しくありません。