Javascript 节点http服务器侦听并打开(';打开';)事件

Javascript 节点http服务器侦听并打开(';打开';)事件,javascript,node.js,Javascript,Node.js,这个问题与我的前一个问题有关: 目前,我有 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 consol

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

目前,我有

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);
对我来说,这看起来更直截了当,实际上在复杂的情况下更容易处理

但是, 事件“打开”似乎不存在

是否有任何相应的事件或不可能这样写


谢谢

我认为您正在寻找该活动:


你希望
.open()
做什么?好吧,随便吧。socket事件有
open
event是很常见的,我不知道node-basic-server为什么没有这个。我不知道你刚才说了什么。“随便什么”??你甚至没有说你认为
open
应该为节点服务器做什么哦,你建议了
open
方法而不是('open'),我试过了,但它说:
Object没有方法“open”
,实际上,文档中没有这样的方法。对不起,我打错了。你对doGreat(“打开”)有什么期待?我错过了这个。谢谢!
const port = 8000;
HTTPserver.on('listening', function() {
  console.log('HTTP listening:' + port);
})