我正在尝试在 node 中制作简单的提要阅读器,但我在 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')。它弄得一团糟,我不知道如何处理。