在压缩流上调用 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
相关用法
- Node.js zlib.createBrotliCompress()用法及代码示例
- Node.js zlib.inflateRaw()用法及代码示例
- Node.js zlib.gunzip()用法及代码示例
- Node.js zlib.gzip()用法及代码示例
- Node.js zlib.inflate()用法及代码示例
- Node.js zlib.createBrotliDecompress()用法及代码示例
- Node.js zlib.deflateRaw()用法及代码示例
- Node.js zlib.createUnzip()用法及代码示例
- Node.js zlib.createDeflateRaw()用法及代码示例
- Node.js zlib.createGunzip()用法及代码示例
- Node.js zlib.createInflateRaw()用法及代码示例
- Node.js zlib.createGzip()用法及代码示例
- Node.js zlib.unzip()用法及代码示例
- Node.js zlib.createDeflate()用法及代码示例
- Node.js zlib.createInflate()用法及代码示例
- Node.js zlib.brotliDecompress()用法及代码示例
- Node.js zlib.brotliCompress()用法及代码示例
- Node.js zlib.inflateSync()用法及代码示例
- Node.js zlib.inflateRawSync()用法及代码示例
- Node.js zlib.deflateRawSync()用法及代码示例
- Node.js zlib.gunzipSync()用法及代码示例
- Node.js zlib.deflateSync()用法及代码示例
- Node.js zlib.brotliDecompressSync()用法及代码示例
- Node.js zlib.deflate()用法及代码示例
- Node.js zlib.unzipSync()用法及代码示例
注:本文由纯净天空筛选整理自nidhi1352singh大神的英文原创作品 Node.js zlib.flush() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。