#1 Data Analytics Program in India
₹2,499₹1,499Enroll Now
3 min read
Question 17 of 62easy

How to read user input with the Readline module?

Interactive command-line input handling.

What You'll Learn

  • Reading user input
  • Creating interactive prompts
  • Line-by-line file reading

Basic Usage

code.jsJavaScript
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();
});

Promise-based (Node 17+)

code.jsJavaScript
const readline = require('readline/promises');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

const name = await rl.question('What is your name? ');
console.log(`Hello, ${name}!`);
rl.close();

Multiple Questions

code.jsJavaScript
async function prompt(question) {
  return new Promise((resolve) => {
    rl.question(question, resolve);
  });
}

async function main() {
  const name = await prompt('Name: ');
  const age = await prompt('Age: ');
  console.log(`${name} is ${age} years old`);
  rl.close();
}

Read File Line by Line

code.jsJavaScript
const fs = require('fs');
const readline = require('readline');

const rl = readline.createInterface({
  input: fs.createReadStream('file.txt'),
  crlfDelay: Infinity
});

for await (const line of rl) {
  console.log(line);
}