操作期间的节点js模块请求远程服务上的一些资源,最好在退出时释放。我们知道非常好:
process.on('exit', function() {
// ...
});
但据说它不会等待任何异步操作完成。所以问题是,是否有任何解决方法(应该有一些,因为它是非常普遍的使用案例)?也许一个人可以开始单独的过程或什么?...
答案 0 :(得分:1)
我见过的唯一解决方法是添加一个等待循环,而不是从.on('exit',函数完成/返回,直到属性全局更新为止。 总的来说是一个设计明智,非常糟糕的练习,但我看到它适用于短暂的通话(我认为有一些超时但我从不打扰查看细节)。
答案 1 :(得分:1)
我认为您可以/应该在on('exit'
之前进行清理,方法是听post中的ctrl-c
信号。