📅  最后修改于: 2023-12-03 15:19:46.746000             🧑  作者: Mango
readline
是 Node.js 中内建的一个模块,用于从终端逐行读取用户的输入。它提供了一种简单的方法来创建和管理交互式的命令行界面。
使用 readline
同步读取用户输入,可以方便地实现等待用户输入后再执行下一步操作的功能。这在一些需要与用户交互的应用程序或命令行工具中非常有用。
readline
是 Node.js 自带的模块,无需单独安装。可以直接在项目中引入:
const readline = require('readline');
以下是一个基本的示例,演示了如何使用 readline
来同步读取用户输入:
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
function askQuestion(question) {
return new Promise((resolve, reject) => {
rl.question(question, (answer) => {
resolve(answer);
});
});
}
async function main() {
const name = await askQuestion("What is your name? ");
console.log("Hello, " + name + "!");
rl.close();
}
main();
在上面的例子中,我们首先创建了一个 readline
接口 rl
,并通过 process.stdin
和 process.stdout
来设置输入和输出流。然后定义了一个 askQuestion
函数,用于提示用户输入问题,并返回用户输入的答案。
在 main
函数中,我们使用 await
关键字来等待 askQuestion
函数的返回值,以确保在获取到用户输入之后再执行下一步操作。最后,我们关闭 readline
接口以释放资源。
readline
是基于事件的,所以在实际使用时需要小心处理异步操作的顺序和流程。Promise
或 async/await
来简化代码。以上是关于如何使用 readline
同步读取用户输入的介绍。希望对你有帮助!更多详细的使用方法和示例可以查看 Node.js 官方文档。