16

Node のモジュールを使用してHTTPリクエストを作成していますが、返されたチャンクが完全なリクエスト レスポンスを満たしていないようです。これが私のコードです:httpdata

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

リクエストを終了する前に完全な出力を待つ方法はありますか? 私は何か間違ったことをしていますか?ありがとう!

4

1 に答える 1

45

「終了」イベントもリッスンする必要があります

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

    var data = "";

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

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

});
于 2013-03-30T03:12:01.777 に答える