为什么我不能通过在浏览器中请求 localhost:13777/close 来关闭服务器(它继续接受新请求),但它会在超时 15000 时正常关闭?节点版本为 0.10.18。我陷入了这个问题,尝试使用文档中关于域处理异常的代码示例(每次我第二次尝试请求错误页面时,它都会给我“未运行”错误),最后来到了这个代码。
var server
server = require("http").createServer(function(req,res){
if(req.url == "/close")
{
console.log("Closing server (no timeout)")
setTimeout(function(){
console.log("I'm the timeout")
}, 5000);
server.close(function(){
console.log("Server closed (no timeout)")
})
res.end('closed');
}
else
{
res.end('ok');
}
});
server.listen(13777,function(){console.log("Server listening")});
setTimeout(function(){
console.log("Closing server (timeout 15000)")
server.close(function(){console.log("Server closed (timeout 15000)")})
}, 15000);