Источник: Nuances of Programming Для управления потоковыми данными наподобие видео или большого файла в Node.js реализован отдельный потоковый модуль. В текущей статье мы сконцентрируемся на некоторых принципах его функционирования. Разделы статьи Типы потоков В Node существует 4 типа потоков: Буферы в потоках Потоки функционируют на основе буферов. Буфер — это участок временной памяти, используемый потоком для хранения данных до момента их обработки. Размер буфера определяется свойством highWatermark, находящимся в экземпляре класса потока и обозначающем величину буфера в байтах. По умолчанию память буфера в Node работает на String и Buffer. Мы также можем организовать ее работу на объектах JavaScript. Для этого нужно установить свойство objectNode потока в значение true. Если мы отправляем какие-либо данные в поток, то эти данные попадают в буфер и находятся в нем до полной их обработки. Если же мы попробуем отправить данные в поток при заполненном буфере, то он их не примет и верне