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

时间:2012-06-30 09:19:31

标签: node.js optimization process

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

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

但据说它不会等待任何异步操作完成。所以问题是,是否有任何解决方法(应该有一些,因为它是非常普遍的使用案例)?也许一个人可以开始单独的过程或什么?...

2 个答案:

答案 0 :(得分:1)

我见过的唯一解决方法是添加一个等待循环,而不是从.on('exit',函数完成/返回,直到属性全局更新为止。 总的来说是一个设计明智,非常糟糕的练习,但我看到它适用于短暂的通话(我认为有一些超时但我从不打扰查看细节)。

答案 1 :(得分:1)

我认为您可以/应该在on('exit'之前进行清理,方法是听post中的ctrl-c信号。