Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何找出什么';是否阻止Node.js退出?_Javascript_Node.js_Debugging_Event Loop - Fatal编程技术网

Javascript 如何找出什么';是否阻止Node.js退出?

Javascript 如何找出什么';是否阻止Node.js退出?,javascript,node.js,debugging,event-loop,Javascript,Node.js,Debugging,Event Loop,我编写的各种Node.js脚本经常遇到这个问题。一切完成后,它们不会退出。通常,它是一个未关闭的套接字或读线接口 当脚本变大时,这真的很难找到。有没有什么工具可以告诉我NodeJS在等什么?我要求提供一个通用的解决方案,帮助调试所有NodeJS在应该退出时不退出的情况 样本: 附件一——进程stdin即使在删除侦听器后也会阻塞节点 附件二-读线会阻止节点 附件三——忘记设置间隔也会阻塞节点,祝你好运找到它 行吗?似乎完全可以满足您的需要。它确实有效,尽管我认为它有一些误报。 const read

我编写的各种Node.js脚本经常遇到这个问题。一切完成后,它们不会退出。通常,它是一个未关闭的套接字或读线接口

当脚本变大时,这真的很难找到。有没有什么工具可以告诉我NodeJS在等什么?我要求提供一个通用的解决方案,帮助调试所有NodeJS在应该退出时不退出的情况

样本:

附件一——进程stdin即使在删除侦听器后也会阻塞节点 附件二-<如果忘记关闭接口,代码>读线会阻止节点 附件三——忘记设置间隔也会阻塞节点,祝你好运找到它
行吗?似乎完全可以满足您的需要。

它确实有效,尽管我认为它有一些误报。
const readline = require('readline');
readline.emitKeypressEvents(process.stdin);
if (typeof process.stdin.setRawMode == "function")
    process.stdin.setRawMode(true);


const keypressListener = (stream, key) => {
    console.log(key);
    process.stdin.removeListener("keypress", keypressListener);
}
process.stdout.write("Press any key...");
process.stdin.on("keypress", keypressListener);
const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
setInterval(() => { }, 2000);