如何解决如何使命令行节点应用程序循环?
我想制作一个微型节点应用,该应用接受输入,然后有条件地返回响应,然后返回到提示,直到输入退出命令为止。
具体来说,我想使用它创建基于36的时间戳,或者将它们转换。因此,将存在三个条件:空白,非空白或输入==“退出”。在空白条件下它将返回
Date.now().toString(36)
输入文字后,它将返回
new Date(parseInt(input,36))
最后如果输入==“ exit”,它将执行类似的操作
readline.close()
在前两个条件之后,我希望再次出现相同的问题/提示。
我已经为此苦苦挣扎了一点,我什至不想包括我混乱的代码!
解决方法
好,所以我终于想通了!最后,我通过阅读完节点文档here来理解readline.prompt()
。
这是我想出的:
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,output: process.stdout,prompt: 'Enter blank for timestamp,timestamp for date or exit> '
});
rl.prompt();
rl.on('line',(line) => {
if (line.toLowerCase() === "exit") {
console.log('\nExiting!\n');
process.exit(0);
} else if (line.trim() === "") {
console.log(`\n${Date.now().toString(36)}\n`)
} else {
console.log(`\n${new Date(parseInt(line,36)).toString()}\n`)
}
rl.prompt();
}).on('close',() => {
console.log('Exiting!');
process.exit(0);
});
希望这可以帮助某人节省一些时间!!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。