модули 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));

Когда я ввожу определенную цифру он мне ничего не возвращает. Что не так. Может я что то упустил?


Ответы (0 шт):