我正在尝试在节点中制作简单的提要阅读器,但我在 node.js 中遇到了多个请求的问题。例如,我得到了带有 url 的表格,例如:
urls = [
"http://url1.com/rss.xml",
"http://url2.com",
"http://url3.com"];
现在我想获取每个 url 的内容。第一个想法是使用for(var i in urls)
,但这不是一个好主意。最好的选择是异步进行,但我不知道如何做到。
有任何想法吗?
编辑:
我得到了这个代码:
var data = [];
for(var i = 0; i<urls.length; i++){
http.get(urls[i], function(response){
console.log('Reponse: ', response.statusCode, ' from url: ', urls[i]);
var body = '';
response.on('data', function(chunk){
body += chunk;
});
response.on('end', function() {
data.push(body);
});
}).on('error', function(e){
console.log('Error: ', e.message);
});
}
问题是首先是循环中每个元素的调用行“http.get ...”,然后调用事件response.on('data'),然后调用response.on('end')。它弄得一团糟,我不知道如何处理。