可讀流中的可讀.unshift()方法用於將大塊數據推回內部緩衝區。但是,當流被完全消耗並且需要為“un-consumed”時,此方法很有用。
用法:
readable.unshift( chunk, encoding )
參數:該方法接受上麵提到和下麵描述的兩個參數。
- chunk:它包含要轉移到讀取隊列中的數據塊。
- encoding:它包含編碼類型。
返回值:此方法將數據塊移到內部緩衝區,該緩衝區在再次調用read方法後可以是隻讀的。
下麵的示例說明了Node.js中read.unshift()方法的使用:
範例1:
// Node.js program to demonstrate the
// readable.unshift() method
// Including fs module
const fs = require('fs');
// Declaring data
var data = '';
// Constructing readable stream
const readable = fs.createReadStream("input.text");
// Instructions for reading data
readable.on('readable', () => {
let chunk;
// Using while loop and calling
// read method
while (null !== (chunk = readable.read())) {
// Displaying the chunk
console.log(`read:${chunk}`);
}
});
console.log("Program ends!!!");
// Calling unshift method
readable.unshift(data);
輸出:
Program ends!!! true read:GfG
範例2:
// Node.js program to demonstrate the
// readable.unshift(chunk[, encoding])
// method
// Include fs module
const fs = require('fs');
var data = '';
// Create readable stream
const readable = fs.createReadStream("input.text");
// Calling setEncoding method
readable.setEncoding('utf8');
// Instructions to unshift data
readable.on("readable", () => {
let data = readable.read();
while (data === "GfG") {
readable.unshift(data);
data = readable.read();
}
});
// Displays that program
// is unshifted
console.log("Unshifted!!");
輸出:
Unshifted!!
參考: https://nodejs.org/api/stream.html#stream_readable_unshift_chunk_encoding。
相關用法
- node.js Stream writable.end()用法及代碼示例
- Node.js stream.Readable.from()用法及代碼示例
- Node.js Stream.pipeline()用法及代碼示例
- Node.js stream.finished()用法及代碼示例
- node.js Stream writable.destroy()用法及代碼示例
- node.js Stream readable.read()用法及代碼示例
- node.js Stream writable.uncork()用法及代碼示例
- node.js Stream readable.isPaused()用法及代碼示例
- node.js Stream readable.resume()用法及代碼示例
- node.js Stream writable.setDefaultEncoding()用法及代碼示例
- node.js Stream readable.destroy()用法及代碼示例
- node.js Stream transform.destroy()用法及代碼示例
- node.js Stream writable.write()用法及代碼示例
- node.js Stream writable.cork()用法及代碼示例
注:本文由純淨天空篩選整理自nidhi1352singh大神的英文原創作品 Node.js | Stream readable.unshift() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。