关于nodejs server.listen()

Aeo*_*nZh 5 javascript node.js express socket.io

我刚刚开始了解Node.js服务器和Websocket。说我有使用socket.io和express用javascript编写的服务器。

var app = require('express')(),
    server = require('http').Server(app),
    io = require('socket.io')(server),
    port = process.env.PORT || 8080;
Run Code Online (Sandbox Code Playgroud)

之间有什么区别:

server.listen(port, function(){
    console.log("listening port " + port);
});
Run Code Online (Sandbox Code Playgroud)

server.listen(port);
console.log("listening port " + port);
Run Code Online (Sandbox Code Playgroud)

显然,它们的工作原理相同。

那么,server.listen()的实际作用是什么?

Jos*_*eam 5

根据文档server.listen

此功能是异步的。绑定服务器后,将发出“监听”事件。

它使用回调,因为回调内的log语句是对端口已绑定的确认。

显然,它们的工作原理相同。

不正确 当然,如果您在回调之外进行日志记录,它仍然会记录端口号,但这与端口的实际边界并行发生,并且您不知道它是否成功。