我是node.js的新手,即时学习。我已经编写了一个代码,以提示与超时的CLI中的用户关注。问题是,在等待用户输入时,随后的代码行被执行而不是暂停。我如何在节点中实现这一目标。以下是我的代码
var readline = require('readline');
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
waitForUserInput = function (timeout) {
var timer = setTimeout(function () {
console.log("Process Resumed..");
rl.close();
}, timeout);
rl.question("Press Enter to Continue..!!", function () {
console.log("Process Resumed..");
clearTimeout(timer);
rl.close();
});}
方法调用是
waitForUserInput(5000);
截至目前,如果我执行console.log(" hello");输出为
暂停过程。按Enter继续进行.. !! 你好
我只想在用户输入或超时之后使用Console.log消息。
您切勿停止执行node.js进程。node.js建立在EventLoop
的顶部。在node.js中,您的代码应异步工作 - 您向用户询问键盘输入并注册一旦用户完成输入后将触发的代码。
对于任何类型的命令行输入,我建议使用询问器。您应该创建一个prompt
并处理then
块中的用户输入(then
在没有错误的情况下履行承诺时调用)