Streams
в Node.js и зачем они нужны?
В Node.js Streams (потоки) позволяют эффективно работать с большими объёмами данных, обрабатывая их постепенно, вместо загрузки всего файла в память. Это значительно снижает нагрузку на сервер и ускоряет обработку данных.
const fs = require('fs');
const stream = fs.createReadStream('large-file.txt', { encoding: 'utf-8' });
stream.on('data', (chunk) => {
console.log('Получена часть данных:', chunk);
});
stream.on('end', () => {
console.log('Чтение завершено');
});
stream.on('error', (err) => {
console.error('Ошибка:', err);
});
🗣️ fs.createReadStream() читает файл постепенно, не загружая его целиком в память. data – срабатывает при получении нового куска данных. end – сигнализирует, что весь файл обработан.