节点http服务器侦听和打开('打开')事件

 雪盈甜美 发布于 2023-01-18 19:13

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

节点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似乎不存在"打开"事件.

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

谢谢.

1 个回答
  • 我想你正在寻找听力活动:

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

    2023-01-18 19:17 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有