我有簡單的功能的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