如何在Node工作队列中获取回调列表?(或者,为什么节点不会退出?)

Dmi*_*sky 79 node.js

它在Node.js关于页面上说:

当没有更多回调要执行时,节点退出事件循环.

有没有办法找出哪些回调让Node退出?

And*_*rov 86

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

请参阅node.js邮件列表中的此讨论.

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

  • 非常感谢,这就是我想要的.在Freenode的#Node.js早些时候,有人试图记住这些电话并且完全到达那里:"完全间隔名称,就像"process._getOpenHandles()"或同样难以记住的东西"`.我在谷歌搜索试图找到实际的电话,但不能.再次感谢. (2认同)
  • 我也记不起名字 - 使用的节点repl,键入的进程._ + tab completion :) (2认同)
  • 有关于这些功能的官方文件吗? (2认同)

ale*_*ung 10

有一个npm模块wtfnode来显示当你向它发送SIGINT(ctrl-c)时nodejs应用程序运行的内容.

process._getActiveHandles()正如@ andrey-sidrov的回答中提到的内部使用.使用的好处wtfnode是它提供易于阅读的输出.