Node.js http响应结束事件?

Ave*_*yan 4 apache apache2 node.js

我正在使用这段代码发送一些http请求并获取数据,它工作正常.我最近更新了apache和php到最新版本,以及节点.

并且'关闭'事件停止了射击.我也试过'结束'和'完成'这似乎都没有.

我需要知道什么时候响应结束,所以我可以开始处理数据,通常它有几个块.你们能帮忙吗?

var req = http.request(options, function(res) {
      res.on('data', function (chunk) {
        if(chunk != null && chunk != "") {
            dataString += chunk; c
        } 
      });
    });

    req.on('close', function () {
        //tadaa it is finished, so we can process dataString
    });

    req.write(post_data);
    req.end();
Run Code Online (Sandbox Code Playgroud)

当前版本:Apache 2.4,PHP 5.4节点0.10.9

也许Apache有一些特定的配置设置阻止它关闭连接?

PS我不认为它是Apache虽然..我尝试google.com同样的结果..很奇怪...任何人都有一个工作代码示例?(加载大数据,并知道它何时结束)

Joe*_*Joe 8

您应该等待end响应事件,而不是请求.

例如

res.on('end', function () {
    // now I can process the data
});
Run Code Online (Sandbox Code Playgroud)