私はノードのライブラリを使って簡単なhttpリクエストを行い、約束を返します。これはいくつかの並列化を可能にするのでうまくいきます。後でPromise.all()
で収集します。しかし、httpリクエストは文字列を返すだけであり、各リクエストについての追加の識別情報を知る必要があります。だから私はこれを行う一つの方法は、要求の約束から何かを取り除き、その情報を追加することでしたが、これは私が後で収集する予定の配列に追加されているそのような要求を示しているコードです:約束の結果に余計なデータを追加する
var promises = [];
promises.push(new Promise(function(resolve, reject){
ReqPromise('http://some.domain.com/getresult.php')
.then(function(reqResult) {
resolve({
source: 'identifier',
value: reqResult
});
});
}));
そして、これは、それが解決するとき、私はこの約束のために戻って得るものです:
{
source: 'identifier'
value: 1.2.3.4
}
これは理想的な方法への「タグ」の約束の結果ですか?それとも、私が誤解している約束事について何かがあります。これは、上記のように余分な約束をする必要はないということですか? ReqPromise
は外部ライブラリにありますので、余分なパラメータを取得して返すことは難しいことに注意してください。
OKは、質問1を無視してください、私は一度に気づい「約束」に1つ以上のものを押し込む。私の悪い。質問2はまだ立っています - これが望ましい結果を達成する最良の方法ですか? – dsl101
['Promise'コンストラクタの反パターンを避ける](http://stackoverflow.com/q/23803743/1048572)! – Bergi
あなたの質問を編集する方法を示すか、投稿から最初の質問を削除するかのどちらかの質問を[編集]してください。 – Bergi