Node.js — Потоки

Node.js — Потоки

От автора: в Node js потоки — это объекты, которые позволяют вам непрерывно считывать данные из источника или записывать данные их. В Node.js существует четыре типа потоков .

 

Readable — поток, который используется для операции чтения.

Writable — поток, который используется для записи.

Duplex — поток, который может использоваться как для чтения, так и для записи.

Transform — тип дуплексного потока, в котором вывод вычисляется на основе вводимых данных.

Каждый тип потока является экземпляром EventEmitter и в разное время запускает несколько событий. Ниже приводятся примеры некоторых из часто используемых событий:

data — это событие запускается, когда данные становятся доступны для чтения.

end — это событие запускается, когда все данные считаны.

error — это событие запускается, когда возникает какая-либо ошибка получения или записи данных.

finish — это событие запускается, когда все данные были сброшены в базовую систему.

В этом руководств описаны основные принципы работы часто используемых операций с потоками.

Чтение из потока

Создайте текстовый файл с именем input.txt со следующим содержимым:

Создайте файл js с именем main.js со следующим кодом:

Запустите main.js:

В результате вы должны получить следующее.

Запись в поток

Создайте файл js с именем main.js со следующим кодом —

Запустите файл main.js:

В результате вы должны получить следующее.

Теперь откройте файл output.txt, созданный в вашем текущем каталоге; он должен содержать следующее:

Пайпинг потоков

Пайпинг — это механизм, с помощью которого мы предоставляем выходные данные одного потока в качестве входных данных для другого потока. Обычно он используется для получения данных одного потока и передачи их в другой. В Node не существует ограничений по количеству операций пайпинга. Ниже приведен пример операции пайпинга для считывания данных из одного файла и записи их в другой.

Создайте файл js с именем main.js со следующим кодом:

Теперь запустите main.js:

В результате вы должны получить следующее.

Откройте файл output.txt, созданный в вашем текущем каталоге; он должен содержать следующее:

Цепочки потоков

Цепочки — это механизм для подключения вывода одного потока к другому потоку и создания цепочки операций с несколькими потоками. Он обычно используется с операциями пайпинга. Мы используем папинг и цепочку, чтобы сначала заархивировать файл, а затем распаковать его.

Создайте файл js с именем main.js со следующим кодом:

Теперь запустите main.js:

В результате вы должны получить следующее.

Input.txt был заархивирован, и в результате в текущем каталоге был создан файл input.txt.gz. Теперь давайте попробуем распаковать тот же файл, используя следующий код:

Теперь запустите main.js:

В результате вы должны получить следующее.

Источник: //www.tutorialspoint.com/

Редакция: Команда webformyself.

Метки:

Похожие статьи:

Комментарии Вконтакте: