在给定URL的GET(或POST)请求时停止Node.js.

时间:2017-03-30 01:56:48

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

});
server.listen(12345);

我期望发生的是在响应完成发送时调用回调,如果URL为/stop则服务器关闭。然而,所有这一切最终都会显示一个空白页面(我预期)并且不做任何其他事情。

另一方面,如果我省略response.end()

,这个程序几乎可以工作
var http = require('http');
var server = http.createServer(function(request,response) {

    if (request.url === '/stop') server.close();

});
server.listen(12345);

它确实设法停止服务器,但直到我通过关闭浏览器窗口终止GET请求。

当我获取某个URL而不必关闭浏览器窗口时,如何让服务器停止? (如果我也可以向浏览器发送“服务器停止”消息,那将会很好。)

注意:我知道我实际上并没有区分GET和POST请求的代码,但我希望能够同时处理这两个问题,并且我假设答案根据类型没有不同请求。

0 个答案:

没有答案