有没有办法在退出时在节点js中启动asynchronous操作?

操作过程中的节点js模块请求远程服务上的一些资源,退出时更好的释放。 我们知道有非常好的:

process.on('exit', function() { // ... }); 

但是据说它不会等待任何asynchronous操作来完成。 所以问题是如果有任何解决方法(应该有一些,因为它是相当广泛的使用情况)? 也许一个人可以开始独立的过程或什么?

我看到的唯一的解决方法是添加一个等待循环,而不是从.on('exit',函数完成/返回,直到一个属性已经全球更新。完全是一个bodge-jobdevise明智,非常糟糕的做法,已经看到它适用于短期的电话(我认为有一些超时,但我从来没有打扰仔细研究)。

我想你可以/应该on('exit' )之前通过听ctrl-c信号来清理。