Método Node.js zlib flush()

El método flush() se llama en un flujo de compresión para que pueda obligar a zlib a devolver la mayor cantidad de salida posible en este momento. Esta salida puede devolverse a costa de una calidad de compresión corrupta, pero puede ser útil cuando se requiere que los datos estén accesibles lo antes posible.

Sintaxis:

zlib.flush()

Parámetros: este método no acepta ningún parámetro.

Valor de retorno: Devuelve la mayor cantidad de datos posible en la actualidad.

Los siguientes ejemplos ilustran el uso del método zlib.flush() en Node.js:

Ejemplo 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!");

Producción:

Program Complete!
Input: Data flush received 13 bytes

Ejemplo 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!");

Salida: por lo tanto, después de que el tamaño de byte supere los 16384 bytes, debe devolver la llamada al método de vaciado, de lo contrario, los datos no se vaciarán por completo.

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

Referencia: https://nodejs.org/api/zlib.html#zlib_flushing

Publicación traducida automáticamente

Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *