我如何获得Node工作队列中的callback列表? (或者,为什么Node不能退出?)

它在Node.js页面上说:

当没有更多的callback执行时,节点退出事件循环。

有没有办法找出哪些callback保持节点退出?

你可以使用process._getActiveHandles()process._getActiveRequests()

在node.js邮件列表中看到这个讨论 。

更新:有一个很好的包 – https://github.com/mafintosh/why-is-node-running

有一个npm模块wtfnode来显示当你向它发送SIGINT(ctrl-c)时保持nodejs应用程序运行的东西。

它内部使用@andrey-sidrov的答案中提到的process._getActiveHandles() 。 使用wtfnode的好处是它提供了易读的输出。