繁体   English   中英

节点 http 服务器监听和 on('open') 事件

[英]node http server listen and on('open') event

这个问题与我之前的问题有关:

节点 httpServer EADDRINUSE 和下一个端口

目前,我做

var port = 8000;
HTTPserver
  .listen(port, function()
  {
    console.log('HTTP listening:' + port);
  })
  .on('error', function(err)
  {
    if (err.code === 'EADDRINUSE')
    {
      // port is currently in use
      console.log('server Open error:' + port);

      port++;
      HTTPserver
        .listen(port);
    }
  });

但是,这种代码结构在事情变得复杂时很难管理,我更愿意这样写:

var port = 8000;
HTTPserver
  .on('open', function()
  {
    console.log('HTTP listening:' + port);
  })
  .on('error', function(err)
  {
    if (err.code === 'EADDRINUSE')
    {
      // port is currently in use
      console.log('server Open error:' + port);

      port++;
      HTTPserver.listen(port);
    }
  });

HTTPserver.listen(port);

这对我来说看起来更直接,实际上在复杂的情况下更容易处理。

但是,引用http://nodejs.org/api/http.html似乎不存在事件“打开”。

有没有相应的事件或者不能这样写?

谢谢。

我认为您正在寻找监听事件:

const port = 8000;
HTTPserver.on('listening', function() {
  console.log('HTTP listening:' + port);
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM