在我的节点脚本中,我正在等待用户在某个时刻按Enter键:
console.log(“按Enter继续…”);等待新的Promise(函数(解析,拒绝){ process.stdin.once(“data”,…
发生这种情况是因为只要你的stdin流是 打开 ,node假设您可能正在等待更多数据。以任何方式读取后,流会自动打开。通知节点您不再需要更多输入的简单方法是调用 pause() 。这是一个简单的例子:
pause()
async function example() { console.log("Step 1"); await new Promise(function(resolve, reject) { process.stdin.once("data", function(data) { resolve(); }); }); console.log("Step 2"); await new Promise(function(resolve, reject) { process.stdin.once("data", function(data) { resolve(); }); }); // more steps... } example().then(() => { console.log("Done"); process.stdin.pause(); });