当前位置: 首页>>代码示例>>用法及示例精选>>正文


node.js Stream readable.unshift()用法及代码示例

可读流中的可读.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




相关用法

注:本文由纯净天空筛选整理自nidhi1352singh大神的英文原创作品 Node.js | Stream readable.unshift() Method。非经特殊声明,原始代码版权归原作者所有,本译文的传播和使用请遵循“署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)”协议。