модули stdin и stdout в node.js работают не корректно
Всем привет. У меня возникли трудности с работой node.js. В частности с модулями ввода и вывод. Я подключил модули
const path = require("path");
const fs = require("fs/promises");
const readFile = require("readline");
Далее я читаю файлы .txt с помощью fs
const cat = fs.readFile(path.join(__dirname, "../EQ/cat.txt"), "utf-8");
const shark = fs.readFile(path.join(__dirname, "../EQ/shark.txt"), "utf-8");
const snake = fs.readFile(path.join(__dirname, "../EQ/snake.txt"), "utf-8");
Далее я создаю функции которые возвращают мне значения моделей
function ModelCat() {
cat.then((data) => console.log(data.split("\n")));
}
function ModelShark() {
shark.then((data) => console.log(data.split("\n")));
}
function ModelSnake() {
snake.then((data) => console.log(data.split("\n")));
}
Далее создаю функцию которая в зависимости от ввода пользователя определенного индекса возвращает мне нужную модель
function getModelINDEX(item) {
if (item === 0) {
return ModelCat();
} else if (item === 1) {
return ModelShark();
} else if (item === 2) {
return ModelSnake();
}
}
И тут возникает проблема. По документации я вроде все написал правильно.
const rl = readFile.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.on("data", (data) => getModelINDEX(data));
Когда я ввожу определенную цифру он мне ничего не возвращает. Что не так. Может я что то упустил?