可读流中的可读.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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。