javascript - 在不假设有问题的情况下获取用户输入
问题描述
我只想获取用户输入的值
我想要类似于 C#Console.ReadLine()
或 Java 的东西bufferedReader.readLine()
有很多关于如何使用 nodejs 获取用户输入的示例,但我发现的所有示例都假设存在问题。
例如:
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('What do you think of Node.js? ', (answer) => {
...
}
相反,我想要r1.readLine()
没有r1.question()
看起来那里有很多例子,但老实说,其中超过一半的例子看起来就像人们只是互相复制和粘贴。
解决方案
如果您不想为 使用空字符串rl.question
,您可以简单地监听line
事件,因为您甚至根本不需要向用户提示问题:
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', (line) => {
console.log(`You typed ${line}`);
});
从文档:
只要输入流接收到行尾输入(\n、\r 或 \r\n),就会发出 'line' 事件。这通常发生在用户按下 Enter 或 Return 时。
使用包含单行接收输入的字符串调用侦听器函数。
推荐阅读
- python - 如何从数据库中读取数据并将其显示在 PyQt 表中
- python - PyOrient SQL 查询内存错误
- angular - 为所有可观察对象上的所有订阅编写中间件
- html - H1 额外的填充没有被移除
- swift - 如何在不进入应用程序的情况下从快速操作菜单复制到 UIPasteBoard?
- javascript - 我将如何以编程方式调用对象方法?像 MyObject.XVariable(//一些函数)
- java - Mockito 验证并复制被清除的数组
- javascript - 我将如何制作一个以当前日期开头的“ajax”日历扩展器
- java - java JPA - 使用限制api调用sql函数
- php - 如何根据国家/地区重定向