我正在尝试使用close event
Node.js。我对 Node.js 很陌生,所以我不确定这是一个体面的问题还是一个可悲的问题。
文档close event
:
http ://nodejs.org/api/http.html#http_event_close_2
如果浏览器在到达之前关闭,我想向控制台输出一条消息end event
。
在服务器运行到 15 秒之前,我尝试关闭浏览器并通过 Chrome 工具终止该进程。没有消息输出到控制台,如果我通过使用其他窗口访问 localhost:8080 打开其他连接,我很快就会得到一个“你好”,表明我的节点服务器认为至少有两个连接。
我要么不了解如何在 Chrome 中终止进程,要么不了解事件关闭的工作方式。
或者如果End
和Close
相同 - node.js https 没有响应“结束”事件,而是“关闭”?- 为什么不是我的“他们不耐烦了!” 消息仍然在控制台中输出?
如果进程在事件结束之前结束,你如何输出到控制台?
var http = require('http'),
userRequests = 0;
http.createServer(function(request,response){
userRequests++;
response.writeHead(200, {'Content-Type' : 'text/plain'});
if ( userRequests == 1 ){
response.write('1st \n');
setTimeout ( function() {
response.write('2nd Thanks for waiting. \n');
response.on('close', function() {
console.log("They got impatient!");
});
response.end();
}, 15000);
response.write('3rd \n');
}
else {
// Quick response for all connections after first user
response.write('Hello');
response.end();
}
}).listen(8080, function() {
console.log('Server start');
});
谢谢你。