El evento ‘finish’ en un Writable Stream se emite después de la llamada del método writable.end() cuando todos los datos se descargan en el sistema oculto.
Sintaxis:
Event: 'finish'
Valor de retorno: si el método writable.end() se llama antes, este evento se emite; de lo contrario, no se emite.
Los siguientes ejemplos ilustran el uso del evento ‘finalizar’ en Node.js:
Ejemplo 1:
// Node.js program to demonstrate the // finish 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('hi'); // Calling end function writable.end(); // Emitting finish event writable.on('finish', function() { console.log("Write is completed."); }); // Displays that the program // is ended console.log("program is ended.");
Producción:
hi program is ended. Write is completed.
En el ejemplo anterior, se llama al método writable.end() antes del evento de finalización, por lo que se emite.
Ejemplo 2:
// Node.js program to demonstrate the // finish 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('hi'); // Emitting finish event writable.on('finish', function() { console.log("Write is completed."); }); // Displays that the program // is ended console.log("program is ended.");
Producción:
hi program is ended.
Entonces, aquí no se llama a la función writable.end(), por lo que el evento de finalización no se ejecuta.
Referencia: https://nodejs.org/api/stream.html#stream_event_finish
Publicación traducida automáticamente
Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA