當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。