Javascript node.js如何知道何时退出?

Javascript node.js如何知道何时退出?,javascript,node.js,process,exit,terminate,Javascript,Node.js,Process,Exit,Terminate,我对node.js非常陌生,我不容易在谷歌上找到的第一件事就是如下内容。考虑最典型的No.js例子: var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337, '127.0.0.1'); console.log('Server

我对node.js非常陌生,我不容易在谷歌上找到的第一件事就是如下内容。考虑最典型的No.js例子:

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');

node.js如何知道在执行最后一行之后不应该退出?来自.NET,我有一个简化的假设,即进程在其所有非后台线程终止时退出。由于node.js是单线程的,我认为应该有一些逻辑监视事件订阅,这些订阅将决定是否仍然存在可能触发的事件,或者node.js是否可以终止。不幸的是,我找不到关于这个的任何文档。有人能帮忙吗?什么?此代码不存在!相反,它开始侦听任何http请求

什么时候出口

否则,如果没有定义请求处理程序,并且不再侦听任何事件,并且执行所有代码语句,那么它将退出 例如: 仅由一条语句组成的简单服务器是:

console.log('Hiii');

这将在执行最后一条语句后立即退出,因为我们不希望它侦听任何事件。

如果您来自.NET后台,则可能编写了一些通过IIS托管的ASP.NET web应用程序。在本例中,您的.NET framework创建了一个应用程序线程池来处理传入的请求,您的页面将被执行,响应将被发送回客户端。因此,您的页面执行由.NET framework处理。在整个过程中,IIS不断侦听传入的请求,并将请求转交给适当的工作线程。
JS的工作方式与您刚才指示节点如何处理请求的方式相同。创建服务器时,节点打开套接字以侦听传入的请求。但是,由于没有编写close命令,服务器将继续运行

要了解node如何处理请求,请访问

要了解如何关闭服务器,请访问

谢谢“事件循环”是我需要的关键字。在文档中,我发现了以下内容:节点在执行输入脚本后进入事件循环。当没有更多的回调可执行时,节点退出事件循环。@讽刺的是。只是补充一点。在注册回调后创建服务器的情况下,节点通常不会退出,除非通过编程方式将其关闭。您可以尝试从代码中省略回调。在这种情况下,您的服务器将立即关闭。