Node.js HTTP请求未返回完整响应

时间:2013-03-30 03:07:53

标签: node.js http get request

我正在使用Node的http模块发出 HTTP 请求,但在data上,返回的块似乎不满足完整的请求响应。这是我的代码:

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

有没有办法在结束请求之前等待完整输出?难道我做错了什么?谢谢!

1 个答案:

答案 0 :(得分:43)

你也应该听'结束'事件

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

    var data = "";

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

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

});