Как СИНХРОННО считать файл в массив построчно в NodeJS?

Нужно считать файл построчно, каждую строку запихнуть в массив как очередной элемент. Далее выбирается рандомный элемент из полученного массива и экспортируется для употребления в синхронном коде.

Есть некоторый рабочий код (ниже), но он АСИНХРОННЫЙ, и он тупиковый - ничего не вытащищь наружу и не экспортируешь. А существует ли обычный метод? Или как сделать код ниже синхронным? Заранее спасибо!

function fileToArray(Object_) {
    return new Promise((resolve, reject) => {
        const rl = readline.createInterface({
            input: fs.createReadStream(Object_.file),
            crlfDelay: Infinity
        });
        rl.on('line', line => Object_.array.push(line));
        rl.on('close', () => resolve(Object_.array));
        rl.on('error', err => reject(err))
    });
}


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

Автор решения: vsemozhebuty

Если файл небольшой, можно так:

const lines = fs.readFileSync('./file.txt', 'utf8').split(/\r?\n/);
→ Ссылка