私はタスクのリストを処理するためにpromises
を使用しています:Javascript - ループで約束を正しく処理するには?
これはコードのサンプルです:
var array = ["aaa", "bbbb", "cccc", "dddd", "eeee"];
var result = [];
var p = Promise.resolve({
then: function(onFulfill, onReject) {
array.forEach(function(x){
// http request with x and make sure this request ends before a new one if fired
// put http resolte in array : result.push(httpRespose);
});
//when done, onFulfill(result)
}
});
p.then(
function(v) {
console.log(v); // "fulfilled!"
}, function(e) {
console.log(e); // not called
});
私が作ることができるようにしたいと配列からすべての要素を使用してHTTPリクエスト、その後に結果を置きます他の配列を返し、完了したらその新しい配列を返します。また、httpの結果が同じ順序で追加されることを確認することが可能かどうかを知りたい(あまり重要ではない)。
誰かが助けてくれますか?
は約束の配列を作成し、Promise.all' 'とそれらを解決:https://developer.mozilla.org/en-US/docs/Web/JavaScript/順次実行を確実にするために、上記のようにアプローチ参照/ Global_Objects/Promise/all。 –
すべての約束を配列に集約し、[Promise.all](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all)を使用して、彼らはすべて完了しました。 –
'x httpでリクエストし、このリクエストが終了する前にこのリクエストが終了することを確認します.'その場合、promise.allは不要です。 –