Ste*_*ate 2 javascript user-input readline node.js
所以我使用 NodeJS 文档中的这个示例代码:
const readline = require('readline');
const rl = readline.createInterface(process.stdin, process.stdout);
console.log("Hello!");
rl.setPrompt('OHAI> ');
rl.prompt();
rl.on('line', (line) => {
switch(line.trim()) {
case 'hello':
console.log('world!');
break;
default:
console.log('Say what? I might have heard `' + line.trim() + '`');
break;
}
rl.prompt();
}).on('close', () => {
console.log('Have a great day!');
process.exit(0);
});
Run Code Online (Sandbox Code Playgroud)
我在 Windows 上,运行 NodeJS 6.0.0。当我运行该文件时,它会写“Hello!”,然后是第一个“OHAI>”。到现在为止还挺好。现在我尝试编写一个任意的“asd”。当我按 Enter 时,会发生以下两种情况之一:
阿斯达
说什么?我可能听说过“asd”
上海>
说什么?我可能听说过“asd”
上海>
这仅发生在第一个输入行上。这似乎是完全随机的,但是,如果在我键入 之后node test.js,我按回车键的速度足够快,有时我会在第一个“OHAI>”之前得到一个换行符,并且它不会打印我的任意输入。
这个例子有什么问题吗?它是 NodeJS 中的错误吗?即使它无法修复,我也很高兴知道是什么原因造成的,因为我已经拉了几个小时的头发了。
这应该可以解决问题。
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
terminal: false
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1206 次 |
| 最近记录: |