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


Node.js zlib.flush()用法及代码示例


在压缩流上调用 flush() 方法,以便它可以强制 zlib 返回当前可实现的尽可能多的输出。此输出可能会以损坏压缩质量为代价返回,但当需要尽早访问数据时,它可能很有用。

用法:

zlib.flush()

参数:该方法不接受任何参数。

返回值:它返回当前尽可能多的数据。

下面的例子说明了 zlib.flush() 方法在 Node.js 中的使用:

示例 1:


// Node.js program to demonstrate the      
// zlib.flush() method 
   
// Including zlib module 
const zlib = require('zlib'); 
   
// Constructing createGzip and createGunzip 
const input = zlib.createGzip(); 
const output = zlib.createGunzip(); 
   
// Piping 
input.pipe(output); 
   
// Write to stream 
input.write('GeeksforGeeks'); 
   
// Calling flush method 
input.flush(); 
   
// Check output 
output.on('data', (d) => { 
    console.log('Input: Data flush received ' 
    + d.length + ' bytes'); 
}); 
console.log("Program Complete!"); 

输出:

Program Complete!
Input: Data flush received 13 bytes

示例 2:


// Node.js program to demonstrate the      
// zlib.flush() method 
  
// Including zlib module 
const zlib = require('zlib'); 
  
// Constructing createGzip and createGunzip 
const input = zlib.createGzip(); 
const output = zlib.createGunzip(); 
  
// Piping 
input.pipe(output); 
  
// Writing to a stream of data 19000 bytes 
input.write('G'.repeat(19000)); 
  
// Calling flush method with callback 
input.flush(() => {}); 
  
// Check output 
output.on('data', (d) => { 
    console.log('Input: Data flush with callback received ' 
    + d.length + ' bytes'); 
}); 
console.log("Program Complete!"); 

输出:因此,当字节大小超过16384字节后,您需要回调flush方法,否则数据将不会被完全刷新。

Program Complete!
Input: Data flush with callback received 16384 bytes
Input: Data flush with callback received 2616 bytes

参考: https://nodejs.org/api/zlib.html#zlib_flushing



相关用法


注:本文由纯净天空筛选整理自nidhi1352singh大神的英文原创作品 Node.js zlib.flush() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。