Описание тега node.js-stream

Поток - это абстрактный интерфейс для работы с потоковыми данными в Node.js. Модуль потока предоставляет базовый API, который упрощает создание объектов, реализующих интерфейс потока.

Node.js. предоставляет множество потоковых объектов. Например, запрос к HTTP-серверу и process.stdout являются экземплярами потока.

Потоки могут быть доступны для чтения, записи или и того, и другого. Все потоки являются экземплярами EventEmitter.

Доступ к потоковому модулю можно получить с помощью:

const stream = require('stream');

В Node.js есть четыре основных типа потоков:

  • Readable - потоки, из которых можно читать данные (например fs.createReadStream()).
  • Возможность записи - потоки, в которые можно записывать данные (например, fs.createWriteStream()).
  • Дуплекс - потоки, которые доступны для чтения и записи (например, net.Socket).
  • Преобразование - дуплексные потоки, которые могут изменять или преобразовывать данные по мере их записи и чтения (например, zlib.createDeflate ()).