Flujo de Node.js. Evento de cierre grabable

El evento de cierre stream.Writable es una interfaz de programación de aplicaciones incorporada del módulo Stream que se utiliza para emitir cuando se cierra el flujo y cualquiera de sus recursos ocultos (por ejemplo, un descriptor de archivo). Este evento implica que no se emitirán más eventos, además de que no se realizarán más cálculos.

Sintaxis:

Event: 'close'

Valor devuelto: si se llama al método writable.destroy() o se cierra un descriptor de archivo después de este evento, este evento se emite; de ​​lo contrario, no se emite.

Los siguientes ejemplos ilustran el uso de stream.Writable close Event en Node.js:

Ejemplo 1:

// Node.js program to demonstrate the     
// close event  
  
// Including stream module
const stream = require('stream');
  
// Creating a stream and creating 
// a write function
const writable = new stream.Writable({
  
  // Write function with its 
  // parameters
  write: function(chunk, encoding, next) {
  
    // Converting the chunk of
    // data to string
    console.log(chunk.toString());
    next();
  }
});
  
// Writing data
writable.write('GeeksforGeeks');
  
// Emitting close event
writable.on('close', () => {
    console.log("No further operations will be performed!");
});
  
// Calling destroy function
writable.destroy();
  
// Shows that the program ends
console.log("program is ended.");

Producción:

GeeksforGeeks
program is ended.
No further operations will be performed!

En el ejemplo anterior, se llama al método writable.destroy() después del evento de cierre para que se emita.

Ejemplo 2:

// Node.js program to demonstrate the     
// close event  
  
// Including stream module
const stream = require('stream');
  
// Creating a stream and creating 
// a write function
const writable = new stream.Writable({
  
  // Write function with its 
  // parameters
  write: function(chunk, encoding, next) {
  
    // Converting the chunk of
    // data to string
    console.log(chunk.toString());
    next();
  }
});
  
// Writing data
writable.write('GeeksforGeeks');
  
// Emitting close event
writable.on('close', () => {
    console.log("No further operations will be performed!");
});
  
// Shows that the program ends
console.log("program is ended.");

Producción:

GeeksforGeeks
program is ended.

Entonces, aquí no se llama a la función writable.destroy(), por lo que el evento de cierre no se ejecuta.

Referencia: https://nodejs.org/api/stream.html#stream_event_close

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 *