我正在尝试创建一个在服务器关闭之前触发的关闭事件。
为此我创建了以下内容:
var express = require('express');
var app = express();
var http = require('http').Server(app);
var listenTo = require('./config/port.json')["port"];
http.listen(listenTo, function () {
console.log('listening on *:' + listenTo);
});
http.on('close', function (event) {
console.log('closed');
});
但是这只会关闭服务器。
所以我的问题是如何使用 http
监听服务器关闭
最佳答案
您将关闭服务器,而不是监听该事件。
而不是这个:
http.close(function (event) {
console.log('closed');
});
你应该使用这个:
http.on('close', function (event) {
console.log('closed');
});
比较一下:
这样:
请注意,如果您想要处理关闭服务器应用程序(终止进程)的事件,而不仅仅是关闭 http
服务器(关闭打开的端口),那么您需要处理不同类型的事件,例如:
process.on('SIGINT', function () {
console.log('SIGINT caught');
// if you want to exit then call:
process.exit();
});
关于javascript - Node 服务器 http close 事件总是触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42759695/