如何在节点js中使用switch case编写完美的菜单驱动程序

时间:2017-03-29 05:54:16

标签: javascript node.js switch-statement console-application readline

我想写这样的东西

var rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
r1.setprompt('press 1 to load fle, press 2 to exit');
rl.prompt();

rl.on('line', (line) => {

switch(line.trim()) {
  case '1':
    r1.setPrompt('Enter file name to add');
    r1.prompt()
    r1.on('line',(filename)=>{
        settings = JSON.parse(fs.readFileSync(filename, 'utf8'));
    });
    break;
    case '2':
    console.log('Exit');
    process.exit(0);
    break;
  default:
    console.log(`Invalid command '${line.trim()}'`);
    break;
   }
 rl.prompt();
 }).on('close', () => {
process.exit(0);
});

我希望菜单一次又一次闪烁,直到用户选择选项2。 我写的是错的,因为在开关的情况下r1是未定义的。 有没有其他正确的方法来实现它。

0 个答案:

没有答案