我希望在发出exit
事件时执行异步回调。例如:
process.addListener ("exit", function (){
asynchronousCode (function (){
//my callback
});
});
我已尝试使用addListener
和on
,但回调中的代码永远不会被执行,因为程序会发出exit
事件,执行异步函数并终止而不调用回调。
如何强制程序等到执行process.emit ("exit")
之后?或者代码必须是同步的......
答案 0 :(得分:3)
当流程即将退出时发出。这是一个很好的钩子,可以对模块的状态进行持续的时间检查(比如单元测试)。 “退出”回调结束后,主事件循环将不再运行,因此可能无法安排计时器。
process.on('exit', function () {
process.nextTick(function () {
console.log('This will not run');
});
console.log('About to exit.');
});
所以你不能在这个处理程序中使用异步函数。