服务器响应结束时执行代码 - Node.js

时间:2016-11-13 19:29:54

标签: javascript node.js http

感谢您抽出宝贵时间阅读我的问题!

我是Node.js的新手,我试图弄清楚当服务器响应结束时如何将数组元素输出到控制台。

这是代码:

var http = require('http');

http.get(process.argv[2], function (response) {
    response = response.setEncoding('utf8');
    var data = [];

    response.on('data', function (collect) {
        data.push(collect);
    });

    response.on('error', function(err) {
        console.log(err);
    });

}); 

我在哪里以及如何使用response.end事件使用data方法打印出console.log()数组的所有元素?

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:1)

答案是正确地盯着我!我无需调用response.end方法,而是需要调用response.on方法并将end事件传递给它。

这对我有用:

response.on('end',function(){
        for (var i = 0; i < data.length; i++) {
            console.log(data[i]);
        }
    });

完整代码:

var http = require('http');

http.get(process.argv[2], function (response) {
    response = response.setEncoding('utf8');
    var data = [];

    response.on('data', function (collect) {
        data.push(collect);
    });

    response.on('error', function(err) {
        console.log(err);
    });

    response.on('end',function(){
        for (var i = 0; i < data.length; i++) {
            console.log(data[i]);
        }
    });

});