readlineSync无法与process.stdin一起使用

时间:2019-05-29 10:36:49

标签: javascript node.js

我想在程序运行时按“ r”返回一个“菜单”。菜单是关于您的大陆和我使用readline Sync所做的城市的两个问题。但是,请使用process.stdin函数来获取按键。因此,当我按“ r”键时,我调用了“开始”(菜单)功能,并且出现了问题,但我无法写出答复。 ps .:我的主要函数具有setInterval,因为它是一个每秒更新一次的时钟。因此,我清洁控制台并再次打印手表。

我试图创建一个布尔值,但这不起作用。此外,多次更改了“启动”功能,但这不起作用。

function readKey(){
  var stdin = process.stdin;
  stdin.setRawMode(true);
  stdin.resume();
  stdin.setEncoding('utf8');
  stdin.on('data', function(key){
    if (key==='q') {
      process.exit();
    }
    if(key==='r'){
      // running = false;
      start();
    }
  });
}

我的函数开始在下面包含此函数

function aksAndReturnContinent(){
  return readline.question("Where are you? Please, tell me first your continent [Europe, Asia, America, etc]: ");
}

function aksAndReturnCountry(){
  return readline.question("Now, tell me your country [Paris, Brazil, London, New_York, etc]: ");
}

function askAndReturnSize(){
  return readline.question('Enter the size of the watch [positive numbers and, for better visualization, integers]: ');
}

function getLocation(){
  console.clear();
  continent = aksAndReturnContinent();
  country = aksAndReturnCountry();
}

function getSize(){
  size = askAndReturnSize();
}

我希望用户通过按“ r”以及程序的开头来键入内容。

0 个答案:

没有答案