Node.js:检查事件循环中剩余的内容,这可能阻止脚本自然退出

22 浏览
0 Comments

Node.js:检查事件循环中剩余的内容,这可能阻止脚本自然退出

如果主事件循环中仍有回调存在,则Node.js脚本将不会退出。尽管可以通过调用process.exit()或抛出异常来强制终止脚本,但建议始终通过正确清除使脚本自然终止。然而,由于代码中的错误可能会阻止正确清除,例如,我可能会忘记在不再需要时删除IntervalObject等,最终导致程序无法终止。

因此,有没有一种方法可以调试非终止脚本以查找仍在事件循环中注册的内容?换句话说,在Node.js中是否有一种方法可以调试防止程序退出的内容?

admin 更改状态以发布 2023年5月22日
0
0 Comments

wtfnode包利用了@mscdex提到的工具,但以更开发者友好的方式呈现。我强烈推荐用它来追踪这些烦人的问题。

const wtf = require('wtfnode');
// ...
wtf.dump();

0
0 Comments

您可以调用process._getActiveRequests()获取活动I/O请求列表,以及调用process._getActiveHandles()获取打开句柄/文件描述符列表。

0