Javascript 在获取(或发布)给定URL请求时停止Node.js
我正在尝试编写一个简单的Node.js http服务器,当访问给定的url时,该服务器停止并退出其进程:在本例中,Javascript 在获取(或发布)给定URL请求时停止Node.js,javascript,node.js,get,httpserver,Javascript,Node.js,Get,Httpserver,我正在尝试编写一个简单的Node.js http服务器,当访问给定的url时,该服务器停止并退出其进程:在本例中,/stop。这是我目前的计划: var http = require('http'); var server = http.createServer(function(request,response) { response.end(function(){ if (request.url === '/stop') server.close(); })
/stop
。这是我目前的计划:
var http = require('http');
var server = http.createServer(function(request,response) {
response.end(function(){
if (request.url === '/stop') server.close();
});
});
server.listen(12345);
我期望发生的是,在响应完成发送时调用回调,如果URL为/stop
,服务器将关闭。然而,所有这些最终都会显示一个空白页面(这是我所期望的),而不做任何其他事情
另一方面,如果省略response.end()
,这个程序几乎可以运行:
它会设法停止服务器,但直到我关闭浏览器窗口终止GET请求
当我获得某个URL时,如何让服务器停止,而不必关闭浏览器窗口?(如果我也能向浏览器发送“服务器已停止”消息,那就太好了。)
注意:我知道我实际上没有区分GET和POST请求的代码,但我希望能够处理这两种请求,并且我假设根据请求的类型,答案不会有所不同。您是否尝试过
process.exit()
?@RyanGill否!仅从方法的名称判断,听起来可能有效。这是我需要的东西吗?@RyanGill有效,谢谢。你试过process.exit()
?@RyanGill没有!仅从方法的名称判断,听起来可能有效。这是我需要的东西吗?@RyanGill有效,谢谢。
var http = require('http');
var server = http.createServer(function(request,response) {
if (request.url === '/stop') server.close();
});
server.listen(12345);