Nodejs. Як зчитувати дані з потоку.
Відео: Node JS Tutorial for Beginners # 30 - Handling POST Requests
Всім привіт! У цій статті ми розглянемо, як зробити свій власний настроюється потік в NodeJS.
У минулій статті ми розглянули, що таке потоки і буфери і як вони працюють. У цій же - створимо свій власний потік.
Відео: 46 - nodejs основи (Події і потоки: Управління потоками для читання)
Є два типи потоків, які ми можемо написати в NodeJS: writable and readable. Яка між ними різниця?
Writeable streams - дозволяють NodeJS записувати дані і відправляти їх.
Відео: 44 - nodejs основи (Події і потоки: Генерація подій і додавання слухачів)
Readable streams - дозволяють NodeJS зчитувати інформацію з потоку.
Ми також можемо написати потік, який зможе робити і те, і інше - Duplex.
Відео: Node.js Tutorial for Beginners 4 - Run First NodeJs Web Server
Коли ми відправляємо відповідь клієнту в NodeJS, ми відправляємо йому деякі дані. У цьому випадку ми будемо говорити про writeable stream, тому що ми будемо записувати дані в потік, які потім будуть відправлені клієнту. І навпаки: якщо NodeJS отримує дані звідкись, то ми будемо використовувати readable stream, тому що ми будемо зчитувати дані з потоку.
створіть файл readMe.txt, де напишіть який-небудь текст на кілька сотень рядків. Тепер зайдіть в app.js і напишіть наступне:
var http =require(`Http`) -
var fs =require(`Fs`) -
var myReadStream = fs.createReadStream(__dirname +`/readMe.txt`,`Utf8`) -
myReadStream.on(`Data`,function(chunk){
console.log(`Отримано новий обсяг даних:`) -
console.log(chunk) -
}) -
Отже, що тут відбувається? Спочатку ми підключаємо потрібні нам модулі, потім створюємо змінну myReadStream, в яку будуть надходити маленькі обсяги даних з методу createReadStream (), в якому ми вказуємо повний шлях до нашого файлу readMe.txt, а також кодування, щоб дані відобразилися в потрібному нам вигляді.
Тепер ми вішаємо подія на нашу змінну, щоб робити щось, коли прийдуть нові дані. Як тільки приходять нові дані, то викликається анонімна функція, в якій ми з допомогою функції console.log () виводимо текст про отримання нового обсягу даних, а також самі ці дані з змінної chunk.
Якщо ви запустите app.js, то побачите, що вам виведені весь текст, який ви ввели в файлі readMe.txt, але розбитий на кілька шматочків.
В принципі, нічого складного тут немає, проте це значно прискорить роботу вашого сайту при дійсно великих обсягах даних.
Отже, на цьому сьогодні все. Ми роздивились, як створити потік для зчитування даних в NodeJS, а в наступній статті поговоримо про те, як їх туди записувати.
Дякую за увагу!
- Nodejs. Клієнти і сервери.
- Nodejs. Як створити сервер.
- Nodejs. Що таке npm.
- Nodejs. Що таке query strings.
- Nodejs. Як працювати з файлом package.json.
- Nodejs. Як відправити дані в форматі json.
- Nodejs. Що таке pipe ().
- Nodejs. Як записувати дані в потік.
- Nodejs. Що таке потоки і буфери.
- Nodejs. Як обробляти post запити.
- Nodejs. Шаблони модулів.
- Nodejs. Починаємо роботу з express.
- Nodejs. Оброблювач подій.
- Nodejs. Движок v8.
- Nodejs. Установка платформи.
- Nodejs. Template engine. Частина 2.
- Nodejs. Параметри маршрутизації в express.
- Nodejs. Пакет nodemon.
- Nodejs. Створення та видалення директорій.
- Nodejs. Глобальний об`єкт.
- Nodejs. Потоковий висновок html сторінки.