Node.js Stream 模組
示例
寫入可寫流
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() 方法時獲取的response 物件。
可寫流的一個例子是在使用 http.createServer() 方法時獲取的request 物件。
語法
某些方法會返回一個可讀/可寫流物件,例如 http.createServer(),如果是這種情況,則無需包含 stream 模組。
否則,在應用程式中包含 Stream 模組的語法是
var stream = require('stream');
可讀流屬性和方法
方法 | 描述 |
---|---|
isPaused() | 如果可讀流的狀態已暫停,則返回 true,否則返回 false |
pause() | 暫停可讀流 |
pipe() | 將可讀流轉換為指定的可寫流 |
read() | 返回可讀流的指定部分 |
resume() | 恢復已暫停的流 |
setEncoding() | 設定可讀流的字元編碼 |
unpipe() | 停止將可讀流轉換為可寫流,由 pipe() 方法引起 |
unshift() | 將某些指定資料推回內部緩衝區 |
wrap() | 有助於讀取舊版本 Node.js 建立的流 |
可寫流屬性和方法
方法 | 描述 |
---|---|
cork() | 停止可寫流,所有寫入的資料將被緩衝在記憶體中 |
end() | 結束可寫流 |
setDefaultEncoding() | 設定可寫流的編碼 |
uncork() | 重新整理自呼叫 cork() 方法以來緩衝的所有資料 |
write() | 向流寫入資料 |