@XYZ007

Как автоматически запускать 'close' в Node.JS Readline?

Всем, привет!

Подскажите, пожалуйста, как можно автоматом запускать 'close' если было введено например 2 значения? Пробовал условия, чтобы посчитать количество 'line', не работает : (

Исходный код:
const readline = require("readline");

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

let sum = 0;

rl.on("line", (input) => {
  const num = parseInt(input);
  sum += num;
});

rl.on("close", () => {
  console.log(sum);
});


Например:
2
2
4 - должно выводиться автоматом, а не через ручной вызов 'close'
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
Aetae
@Aetae
Тлен
Ну какбэ в чём проблема то?
let lineNumber = 0;
rl.on("line", (input) => {
  lineNumber++;
  ...
  if(lineNumber >= 2) rl.close();
});

Или типа того.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@XYZ007 Автор вопроса
Всем, спасибо!

Я чуть позже решил похожим образом!

const readline = require("readline");

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

let sum = 0;
let counterClose = 0;

rl.on("close", () => {
  console.log(sum);
});

rl.on("line", (input) => {
  const num = parseInt(input);
  sum += num;
  counterClose++;

  if (counterClose >= 2) {
    rl.close();
  }
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы