2016-05-13 61 views
1

我已經看過關於這個主題的其他線程,但仍然不知道爲什麼我的工作不起作用。有什麼想法嗎?learnyounode雜耍異步解決方案不工作

var files = process.argv.slice(2); 
var count = 0; 
var results = []; 
var http = require('http'); 
function printOut() { 
    for (var t = 0; t < results.length; t++) { 
     console.log(results[t]); 
    } 
} 

function run(id){ 
    http.get(files[id], function(response) { 
     var output = ''; 
     count++; 
     response.setEncoding('utf8'); 
     response.on("data", function(data) { 
      output += data; 
     }); 
     response.on("end", function() { 
      count--; 
      //console.log(count); 
      results[id] = output; 
      if (count === 0) { 
       printOut(); 
      } 
     }); 
     }).on('error', function(e){ 
       console.log("error:" + e.message); 
      }); 

} 

for(var j = 0; j < files.length; j++){ 
    //console.log('Running ' + (j+1) + 'st get'); 
    run(j); 
} 

我一直在尋找這個小時,並不知道爲什麼它不想工作。

回答

0

你是怎麼運行的?

我改變了程序的一行: http.get('http://www.google.com/', function(response) {

並執行:node index.js hello(該hello只是有一個佔位符,因爲你的for循環需要一個參數)。它爲我工作得很好。所以也許你需要詳細說明一下?

相關問題