Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在获取(或发布)给定URL请求时停止Node.js_Javascript_Node.js_Get_Httpserver - Fatal编程技术网

Javascript 在获取(或发布)给定URL请求时停止Node.js

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(); })

我正在尝试编写一个简单的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();
    });

});
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);