Nodejs. Як записувати дані в потік.

Відео: Реалізація Transform-потоків в Node.js

NodeJS. Як записувати дані в потік.

Всім привіт! У цій статті ми розглянемо, як записувати дані в потік в NodeJS.

У минулій статті ми дізналися, як можна вважати дані, отримані з потоку, а в цій поговоримо про те, як їх туди можна записувати.




Насправді, тут немає нічого складного. Код буде майже такою ж, як і в попередньому випадку. Давайте відразу до нього і перейдемо:

var http =require(`Http`) -
var fs =require(`Fs`) -
var myReadStream = fs.createReadStream(__dirname +`/readMe.txt`,`Utf8`) -
var myWriteStream = fs.createWriteStream(__dirname +`/writeMe.txt`) -
myReadStream
.on(`Data`,function(chunk){
console
.log(`Отримано новий обсяг даних:`) -
myWriteStream
.write(chunk) -
}) -

Давайте розберемося, що тут відбувається. Спочатку ми створюємо потік для читання інформації, використовуючи знання, отримані в минулій статті. Далі ми викликаємо анонімну функцію кожен раз, коли отримуємо нові дані за допомогою процесора подій, виводимо про це інформацію за допомогою функції console.log (), далі викликаємо метод write () у потоку для запису, який був написаний вище, і створюється він, як ви можете бачити, приблизно таким же чином, як і потік для читання. Єдине, що в агрумент ми вказуємо шлях до файлу, в який повинна бути записана та інформація, яка прийде з потоку для читання. У методі write () ми вказуємо, які дані ми хочемо записати, і це як раз ті дані, які були отримані з потоку для читання. Якщо ви зараз запустіть файл app.js, то побачите кілька повідомлень про отримання інформації, а також створиться новий файл writeMe.txt, в якому буде вся та інформація, яка міститься в файлі readMe.txt.

Відео: скрінкасти по Node.JS




Звичайно, те ж саме ви можете зробити за допомогою файлової системи, і ми вже це робили в попередніх статтях, але тут ми використовуємо потоки, що значно прискорить обробку інформації з причин, які були описані в першій статті по цій темі.

Оскільки ми часто зчитуємо інформацію і записуємо її кудись, використовуючи потоки, є спосіб прискорити це за допомогою pipes. Але про це ми поговоримо в наступній статті.

Відео: 002. node.js - Сергій Гоголєв

Дякую за увагу!

Поділися в соціальних мережах:

Схожі
Nodejs. Що таке pipe ().Nodejs. Що таке pipe ().
Nodejs. Що таке потоки і буфери.Nodejs. Що таке потоки і буфери.
Nodejs. Що таке query strings.Nodejs. Що таке query strings.
Nodejs. Template engine. Частина 1.Nodejs. Template engine. Частина 1.
Nodejs. Модулі.Nodejs. Модулі.
Nodejs. Template engine. Частина 2.Nodejs. Template engine. Частина 2.
Nodejs. Як обробляти post запити.Nodejs. Як обробляти post запити.
Nodejs. Потоковий висновок html сторінки.Nodejs. Потоковий висновок html сторінки.
Nodejs. Шаблони модулів.Nodejs. Шаблони модулів.
Nodejs. Пакет nodemon.Nodejs. Пакет nodemon.
» » Nodejs. Як записувати дані в потік.