不附加到节点

时间:2016-03-28 13:07:12

标签: javascript arrays node.js javascript-objects

在我的代码中,我一直致力于使用节点发送异步HTTP请求,并已收到相关页面的响应。我能够在我的代码中的任何地方打印,所以我确信我所做的条件得到满足,并且代码正常运行。

但是,当我致电console.log(array)时,[]会被退回给我。在我看来,这是在其他代码(即添加到数组中的项目)之前发生的。在以前版本的代码中,我能够打印[],但也包含console.log(array.length)和此打印件,并且可以看到数组的大小逐渐增加。

有人能为我提供潜在的解决方案吗?

我的代码如下:

var http = require('http');
var most = 25;
var array = [];
function mainfunc(pg) {
    if (pg >= most) {
        console.log(array);
        return;
    }
    var site = {
        host: '[redacted]',
        path: '/json?Page=' + pg
    };
    http.request(site, function(response) {
        var stc = []
        response.on('data', function (chunk) {
            stc.push(chunk);
        });
        response.on('end', function() {
            var no = Buffer.concat(stc).toString();
            try {
                var no2 = JSON.parse(no)
            } catch (e) {
                console.log('Error on ' + pg)
            }
            for (i in no2) {
                array.push(no2[i].Id);
            };
        });
    }).end();
};
for (var g = 1; g < 25; g++) {
    mainfunc(g);
}

0 个答案:

没有答案