Пропуск значений введенных в консоль c помощью модуля node:readline
Необходимо создать массив из значений введенных в консоль. Каждое значение вводится с новой строки, например:
1
2
3
4
5
6
Но после выполнения кода, в массиве data нет первого и последнего значений:
['2', '3', '4', '5']
Код:
import * as readline from 'node:readline/promises';
const data = [];
let rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.on('line', (line) => {
data.push(line);
});
rl.on('close', function () {
console.log(data);
});
await rl.question("Enter numbers: ");
Почему в массив data не попадают значения 1 и 6?
Ответы (1 шт):
Автор решения: ksa
→ Ссылка
Но после выполнения кода, в массиве data нет первого и последнего значений
Твое первое значение "ворует" сам rl.question("Enter numbers: ")
...
После последнего так же нужно нажать Enter
. Тогда оно будет в массиве.
const readline = require('node:readline/promises')
const data = [];
(async _ => {
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.on('line', line => {
data.push(line);
});
rl.on('close', _ => {
console.log(data);
});
const str = await rl.question("Enter numbers: ");
data.push(str);
})()