Comment puis-je obtenir une liste des rappels dans la queue de travail Node? (ou pourquoi le nœud ne sortira-t-il pas?)

Il est dit sur la page Node.js :

Le nœud quitte la boucle d’événement lorsqu’il n’y a plus de rappels à effectuer.

Y a-t-il un moyen de savoir quels callbacks empêchent Node de sortir?

Vous pouvez utiliser process._getActiveHandles() et process._getActiveRequests()

Voir cette discussion dans la liste de diffusion node.js.

mise à jour: il y a un bon paquet pour cela – https://github.com/mafintosh/why-is-node-running

Il y a un module npm wtfnode pour montrer ce qui maintient l’application nodejs en cours d’exécution lorsque vous lui envoyez SIGINT (ctrl-c).

Il utilise process._getActiveHandles() comme mentionné dans la réponse de @andrey-sidrov. L’avantage d’utiliser wtfnode est qu’il fournit une sortie facile à lire.