Node.js是一个非常流行的JavaScript运行时环境,它提供了许多内置模块来帮助我们开发应用程序。其中之一是readline模块,它提供了一种简单的方法来读取用户输入并进行交互。
本文将详细介绍readline模块的API和使用案例,并附有代码注释。
readline模块的API
readline模块提供了一些API来读取和处理用户输入。下面是一些常用的API:
readline.createInterface(options)
该方法创建一个readline.Interface实例,该实例包含了许多用于读取和处理用户输入的方法。
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question(query, callback)
该方法用于向用户提问,并在用户输入后调用回调函数。
rl.question('What is your name? ', (name) => {
console.log(`Hello, ${name}!`);
rl.close();
});
rl.close()
该方法用于关闭readline.Interface实例。
rl.close();
rl.prompt()
该方法用于显示提示符,并等待用户输入。
rl.prompt();
rl.on(event, callback)
该方法用于监听readline.Interface实例上的事件,并在事件触发时调用回调函数。常用的事件包括line、close和SIGINT。
rl.on('line', (input) => {
console.log(`Received: ${input}`);
});
readline模块的使用案例
下面是一个简单的使用readline模块的例子,它会向用户提问并输出用户输入的内容。
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('What is your name? ', (name) => {
console.log(`Hello, ${name}!`);
rl.close();
});
在这个例子中,我们使用了readline.createInterface方法创建了一个readline.Interface实例,并使用rl.question方法向用户提问。当用户输入后,我们会调用回调函数并输出用户输入的内容。
下面是一个更复杂的例子,它会让用户输入一些数字并计算它们的总和。
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let sum = 0;
function ask() {
rl.question('Enter a number (or "done" to finish): ', (input) => {
if (input === 'done') {
console.log(`The sum is ${sum}.`);
rl.close();
} else {
const num = parseInt(input, 10);
if (!isNaN(num)) {
sum += num;
}
ask();
}
});
}
ask();
在这个例子中,我们使用了一个ask函数来递归地向用户提问,直到用户输入了“done”。在每次输入后,我们会将用户输入的数字相加,并在最后输出它们的总和。文章来源:https://www.toymoban.com/news/detail-716422.html
总结
readline模块是Node.js中一个非常有用的模块,它可以帮助我们读取和处理用户输入。在本文中,我们详细介绍了readline模块的API和使用案例,并为代码添加了注释,希望对你有所帮助。文章来源地址https://www.toymoban.com/news/detail-716422.html
到了这里,关于Node.js的readline模块 命令行交互的模块的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!