การรับค่าจากคีย์บอร์ด บน Node.js
มีสองวิธีหลักในการรับค่าจากคีย์บอร์ดบน Node.js:
1. readline module:
โมดูล readline ช่วยให้เราสามารถอ่านค่าจากคีย์บอร์ดทีละบรรทัด ตัวอย่างเช่น:
JavaScript
const readline = require('readline');
const reader = readline.createInterface({
input: process.stdin,
output: process.stdout
});
reader.question('What is your name? ', (name) => {
console.log(`Hello, ${name}!`);
reader.close();
});
2. event-listener:
เราสามารถใช้ event-listener บน process.stdin เพื่อรับค่า input ตัวอย่างเช่น:
JavaScript
process.stdin.on('data', (data) => {
const name = data.toString().trim();
console.log(`Hello, ${name}!`);
});
ตัวอย่างเพิ่มเติม:
- รับค่าตัวเลข:
JavaScript
const readline = require('readline');
const reader = readline.createInterface({
input: process.stdin,
output: process.stdout
});
reader.question('What is your age? ', (age) => {
const ageNumber = parseInt(age);
console.log(`You are ${ageNumber} years old.`);
reader.close();
});
- รับค่าหลายบรรทัด:
JavaScript
const readline = require('readline');
const reader = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let lines = [];
reader.on('line', (line) => {
lines.push(line);
});
reader.on('close', () => {
console.log(lines);
});
แหล่งข้อมูลเพิ่มเติม:
- Node.js documentation: https://nodejs.org/api/readline.html