learnyounode Juggling Async Solution无法正常工作

时间:2016-05-13 01:08:13

标签: javascript node.js

我已经看过关于这个主题的其他主题,但仍然无法弄清楚为什么我的不起作用。有什么想法吗?

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

我一直在看这几个小时,无法弄清楚为什么它不想工作。

1 个答案:

答案 0 :(得分:0)

你是如何运作的?

我在你的程序中更改了一行: node index.js hello

并执行:hellofft(array([4., 3., 5., 10., 5., 3.])).real #array([ 30., -8., 6., -2., 6., -8.]) dct(array([4., 3., 5., 10.]), 1) #array([ 30., -8., 6., -2.]) 就在那里作为占位符,因为你的for循环需要一个参数)。它对我来说很好。那么也许你需要详细说明一下?