2

我的理解是 NodeJS 会一直运行,直到所有事件都从事件队列中排出,然后才会退出。在各种情况下,我编写了一个脚本,它使用第三方模块,它做我想做的事,但不退出。我认为这是因为其他一些第三方模块在事件队列中有一些东西。

我可以做些什么来观察队列,鼓励它被排空,甚至确定谁还有事情要做(也许获得足够的信息来知道如果我无论如何都 process.exit,不会造成任何伤害)

感谢您的建议。

4

1 回答 1

1

如果无法访问这些模块,您将无能为力。

SetInterval 将阻止您的应用程序停止,但您可以在这些计时器上调用 ClearInterval。您的挑战将是管理这些间隔对象并在需要删除应用程序时执行清理。

hacky 和直接的解决方案之一是用定制的“替换” SetInterval 默认方法,该方法将注册间隔并从使用的角度与默认方法相同。这样,您将能够更轻松地收集所有间隔句柄。

于 2013-07-04T09:38:46.323 回答