Node JS-在等待Node JS中的用户输入时,如何暂停后续代码行执行



我是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在没有错误的情况下履行承诺时调用)

相关内容

  • 没有找到相关文章

最新更新