На странице о Node.js говорится :
Узел выходит из цикла обработки событий, когда больше нет обратных вызовов для выполнения.
Есть ли способ узнать, какие обратные вызовы удерживают Node от выхода?
На странице о Node.js говорится :
Узел выходит из цикла обработки событий, когда больше нет обратных вызовов для выполнения.
Есть ли способ узнать, какие обратные вызовы удерживают Node от выхода?
Ответы:
Вы можете использовать
process._getActiveHandles()
иprocess._getActiveRequests()
См. Это обсуждение в списке рассылки node.js.
обновление: для этого есть хороший пакет - https://github.com/mafintosh/why-is-node-running
источник
"totally spacing on the name, it's like "process._getOpenHandles()" or something equally hard to remember"
. Я искал в Google, пытаясь найти реальный звонок, и не смог. Еще раз спасибо.node_globals.js
и не нашел. Теперь я просматриваю кодовую базу узлов, зная, что искать, и обнаруживаю, что они определены в node.cc. process._getActiveHandles () -src/node.cc:2345: NODE_SET_METHOD(process, "_getActiveHandles", GetActiveHandles);
Ха! Превосходно.Существует модуль wtfnode npm, чтобы показать, что поддерживает работу приложения nodejs, когда вы отправляете ему SIGINT (ctrl-c).
Это внутреннее использование,
process._getActiveHandles()
как указано в ответе @andrey-sidrov. Преимущество использованияwtfnode
заключается в том, что он обеспечивает легко читаемый вывод.источник