Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.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-如何在Node js中等待用户输入时暂停后续代码行的执行_Javascript_Node.js_User Input_Readline - Fatal编程技术网

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

Javascript Node js-如何在Node js中等待用户输入时暂停后续代码行的执行,javascript,node.js,user-input,readline,Javascript,Node.js,User Input,Readline,我是node.js新手,正在学习它。我已经编写了一个代码来提示用户从CLI输入超时。问题是,后续代码行在等待用户输入时被执行,而不是暂停。我如何在节点中实现这一点。下面是我的代码 var readline = require('readline'); var rl = readline.createInterface({ input: process.stdin, output: process.stdout }); waitForUserInput = function (

我是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中,您的代码应该以异步方式工作——您要求用户输入键盘,并注册一段代码,一旦用户完成输入,就会触发该代码


对于任何类型的命令行输入,我建议使用。您应该创建一个
提示符
,并在
then
块中处理用户输入(
then
在承诺没有错误的情况下被调用)

您不能这样做。相反,使用承诺。你能举个例子吗。