2016-05-13 14 views
1

私はこのトピックの他のスレッドを見てきましたが、私がなぜ動作しないのか分かりません。何かご意見は?learnyounode Juggling非同期ソリューションが動作しない

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

どのように実行していますか?

私はあなたのプログラムの1行変更: http.get('http://www.google.com/', function(response) {

をし、実行:node index.js hello(あなたのforループは、パラメータを期待するのでhelloが、ちょうどそこにプレースホルダとしてあります)。それは私のためにうまくいった。だから、あなたは少し詳しく説明する必要がありますか?

関連する問題