nodejs循环中的多个http请求

我试图在node中创建简单的提要阅读器,但node.js中存在多个请求的问题。
例如,我得到了一个包含URL的表,如下所示:

URL=[
"http://url1.com/rss.xml",
"http://url2.com",
"http://url3.com"];

现在我想获取每个url的内容。第一个想法是使用for(URL中的VARI),但这不是个好主意。最好的选择是异步执行,但我不知道如何实现

有什么想法吗

编辑:

我得到了这个密码:

var数据=[];
对于(var i=0;i<url.length;i++){
get(URL[i],函数(响应){
log('response:',response.statusCode,'from url:',url[i]);
变量体=“”;
响应.on('data',函数(块){
body+=块;
});
on('end',function(){
数据推送(body);
});
}).on('error',函数(e){
console.log('Error:',e.message);
});
}

问题是,对于循环中的每个元素,第一个是调用行“http.get…”,在该事件响应之后。在(’data’)被调用,在该响应之后。在(’end’)被调用。它弄得一团糟,我不知道怎么处理

我知道这是一个老问题,但我认为更好的解决方案是使用JavaScriptsPromise.all()

const request=require('request-promise');
常量URL=[”http://www.google.com", "http://www.example.com"];
const promises=url.map(url=>请求(url));
承诺。所有(承诺)。然后((数据)=&gt{
//数据=[承诺人1,承诺人2]
});

发表评论