nodejs头请求不是触发事件

时间:2015-06-22 07:24:31

标签: node.js http

这是我的代码:

var http = require('http');

var req = http.request(
    {
        host: 'example.com',
        method: 'HEAD',
        path: '/'
    },
    function(res){
        res.on('end',function(){
            console.log('Ended');
        }); 
        res.on('finish',function(){
            console.log('Finished');
        }); 
        res.on('close',function(){
            console.log('Closed');
        });
    }
);

req.end();

奇怪的是它没有打印任何东西。花费的时间超过预期并退出。这是nodejs端的某种错误吗?

1 个答案:

答案 0 :(得分:1)

问题是您没有声明datareadable事件处理程序。根据{{​​3}}:

  

在您指示您已准备好接收数据之前,可读流将不会开始发送数据。

相反,该流将被放入"暂停"无限状态(直到你开始从中读取数据),这意味着至少end事件永远不会被发出。