簡體   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