Node.js HTTP request not returning full response

喜夏-厌秋 提交于 2019-11-29 01:05:05

问题


I'm making a HTTP request using Node's http module, but on data, the chunk returned doesn't seem to content the full request response. Here's my code:

var req = http.request(httpOptions, function(res) {
    res.setEncoding('utf8');
});

req.on('response', function (response) {
    response.on('data', function (chunk) {
        console.log(chunk);
        callback(null, JSON.parse(chunk));
    });
});

req.on('error', function(e) {
    callback(e);
    //callback(e.message);
});

req.end();

Is there a way to wait for the full output before ending the request? Am I doing something wrong? Thanks!


回答1:


you should also listen for the 'end' event

req.on('response', function (response) {

    var data = "";

    response.on('data', function (chunk) {
        console.log(chunk);
        data += chunk;
    });

    response.on('end', function(){
        callback(data);
    })

});


来源:https://stackoverflow.com/questions/15714499/node-js-http-request-not-returning-full-response

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!