Потоковый модуль Node.js
Пример
Запись в доступный для записи поток:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('Hello
World!');
res.end();
}).listen(8080);
Определение и использование
Модуль Stream предоставляет способ обработки потоковых данных.
Существует два типа потоков: для чтения и для записи.
Примером читаемого потока является объект ответа , который вы получаете при работе с методом http.createServer().
Примером доступного для записи потока является объект запроса , который вы получаете при работе с методом http.createServer().
Синтаксис
Некоторые методы возвращают доступный для чтения/записи объект потока, например http.createServer(), и в этом случае вам не нужно включать модуль потока.
В противном случае синтаксис для включения модуля Stream в ваше приложение:
var stream = require('stream');
Читаемые свойства и методы потока
Method | Description |
---|---|
isPaused() | Returns true if the state of the readable stream is paused, otherwise false |
pause() | Pauses the readable stream |
pipe() | Turns the readable stream into the specified writable stream |
read() | Returns a specified part of the readable stream |
resume() | Resumes a paused stream |
setEncoding() | Sets the character encoding of the readable stream |
unpipe() | Stops turning a readable stream into a writable stream, caused by the pipe() method |
unshift() | Pushes some specified data back into the internal buffer |
wrap() | Helps reading streams made by older Node.js versions |
Свойства и методы записываемого потока
Method | Description |
---|---|
cork() | Stops the writable stream and all written data will be buffered in memory |
end() | Ends the writable stream |
setDefaultEncoding() | Sets the encoding for the writable stream |
uncork() | Flushes all data that has been buffered since the cork() method was called |
write() | Writes data to the stream |