NodeJS For循环承诺

时间:2018-08-27 12:10:13

标签: javascript node.js for-loop promise

我正在尝试编写如下代码-

var rp = require('request-promise');

var myArr = [0,1,2,3,4,5];
var a = 0;
for( var i in myArr) {
  rp('someURL?q='+myArr[i])
  .then(function (response) {
      myArr[i] = response;
  });
}
return myArr;

如何等待每个请求,然后继续进行for循环以进行下一次迭代,最后返回myArr?

1 个答案:

答案 0 :(得分:-1)

如果您可以同时发送全部请求,则可以使用Promise.all

Promise.all(myArr.map(function(q){ return rp('someURL?q='+q); })
    .then(function(res){
        console.log(res);
        // here's all the requests.
    });