Sobes.tech
Назад к вопросам
Junior — Middle
94

Можете объяснить, что такое поток данных (Stream) в Node.js и как он используется?

Ответ от нейросети

sobes.tech AI

В Node.js поток данных (Stream) — это абстракция для работы с последовательными данными, которые поступают или отправляются частями, а не целиком. Это позволяет эффективно обрабатывать большие объемы данных без необходимости загружать их полностью в память.

Существует четыре основных типа потоков:

  • Readable (читаемые) — потоки, из которых можно читать данные (например, чтение файла).
  • Writable (записываемые) — потоки, в которые можно записывать данные (например, запись в файл).
  • Duplex — потоки, которые могут и читать, и писать (например, сетевые сокеты).
  • Transform — разновидность Duplex, которая может изменять данные по пути (например, сжатие).

Пример использования читаемого потока для чтения файла и записи его содержимого в другой файл:

const fs = require('fs');

const readable = fs.createReadStream('input.txt');
const writable = fs.createWriteStream('output.txt');

readable.pipe(writable);

Метод pipe() автоматически передает данные из одного потока в другой, что упрощает работу с потоками и повышает производительность при обработке больших данных.