Back to questions
Junior — Middle
93
Можете объяснить, что такое поток данных (Stream) в Node.js и как он используется?
Answer from AI
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() автоматически передает данные из одного потока в другой, что упрощает работу с потоками и повышает производительность при обработке больших данных.