是否有一种方法可以在 Node.js Express 中的代码块在节点进程退出之前执行,无论是由于抛出错误、按下 Ctrl+C 还是任何其他原因?
您正在寻找退出事件。根据文档说明:
当进程即将退出时会触发此事件。这是一个很好的钩子函数,可以执行模块状态的常量时间检查(例如单元测试)。在“exit”回调完成后,主事件循环将不再运行,因此可能无法调度计时器。
实现方式如下:
process.on('exit', function() {
console.log('About to close');
});
值得一提的是,如果你不知道退出或异常发生的原因,通常尝试操纵数据并不是一个好主意。如果你不知道出了什么问题,通常最好从头开始,而不要试图用可能已经损坏的东西来完成某些事情。