我有简单的功能的NodeJS应该工作如下:传递变量函数的NodeJS
- 使GET请求列出的URL。
- 收集对数组的所有响应。
- 逐行打印回复。
问题是我在开始和在功能我推响应字符串这个数组中初始化结果阵列,但在最终这数组为空。
var http = require('http');
var bl = require('bl');
var argv = process.argv;
var results = [];
for (i = 2; i < argv.length; i++) {
var url = argv[i].toString();
http.get(url, function (response) {
response.pipe(bl(function (err, data) {
results.push(data.toString()); //if im just printing the data it shows the correct info.
}))
})
}
console.log(results);
所以响应只是“[]”。
可能重复[如何返回从Ajax调用的响应?](http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-ajax-呼叫) – 2015-02-09 13:31:44
http.get异步工作。您在收到结果之前记录结果。 – 2015-02-09 13:32:02
但我收集的所有回应,但随机顺序,不是吗? – Serghei 2015-02-09 13:36:36