Evento de fin de transmisión legible de Node.js

El evento de ‘fin’ en un flujo legible se emite cuando no hay datos disponibles para consumir del flujo legible. Y el evento de ‘fin’ no se emitirá si los datos no se consumen por completo. Se puede hacer cambiando la transmisión al modo de flujo, o llamando al método stream.read() una y otra vez hasta que se consuman todos los datos.

Sintaxis:

Event: 'end'

Los siguientes ejemplos ilustran el uso del evento final en Node.js:

Ejemplo 1:

// Node.js program to demonstrate the     
// readable end event
  
// Including fs module
const fs = require('fs');
  
// Constructing readable stream
const readable = fs.createReadStream("input.txt");
  
// Instructions to read 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}`);
  }
});
  
// Handling end event
readable.on('end', () => {
  console.log('All the data is being consumed.');
});
  
console.log("Done...");

Producción:

Done...
read: GeeksforGeeks
All the data is being consumed.

Ejemplo 2:

// Node.js program to demonstrate the     
// readable end event
  
// Including fs module
const fs = require('fs');
  
// Constructing readable stream
const readable = fs.createReadStream("input.txt");
  
// Handling end event
readable.on('end', () => {
  console.log('All the data is being consumed.');
});
  
console.log("Done...");

Producción:

Done...

Aquí, todos los datos no se consumen ya que no se llama al método stream.read(), por lo que el evento final no se emite aquí.

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

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 *