2016-05-13 6 views
1

Ich habe andere Threads zu diesem Thema angeschaut, kann aber immer noch nicht herausfinden, warum meins nicht funktioniert. Irgendwelche Gedanken?learnyounode Jonglieren Async-Lösung funktioniert nicht

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); 
} 

Ich habe dies stundenlang untersucht und kann nicht herausfinden, warum es nicht funktionieren will.

Antwort

0

Wie läuft das?

änderte ich eine Zeile in Ihrem Programm: http.get('http://www.google.com/', function(response) {

und ausgeführt: node index.js hello (die hello gibt es nur als Platzhalter, um einen Parameter erwartet, da Ihr for-Schleife). Es hat gut für mich funktioniert. Also musst du vielleicht etwas ausarbeiten?

Verwandte Themen