NodeJs是如何实现http包的listen()函数的



我试图了解nodeJs是如何为其http服务器实现listen((的。我试着查看源代码,但没有那么大帮助。

有人能解释listen((函数是如何永远运行的吗?(有没有无限循环或setInterval使它发生?(

var http = require('http');
//create a server object:
http.createServer(function (req, res) {
res.write('Hello World!'); //write a response to the client
res.end(); //end the response
}).listen(8080); //the server object listens on port 8080

我认为不需要计时器来保持进程运行,因为它是一个I/O事件-https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/#poll.

在每次运行事件循环之间,Node.js会检查它是否在等待任何异步I/O或计时器,如果没有,则会干净地关闭。

最新更新