Node.js Stream writable.writableFinished Property
The writable.writableFinished property is set to true instantly before the emit of the ‘finish’ event.
Syntax:
writable.writableFinished
Return Value: It returns true if ‘finish’ event is called before it else it returns false.
Below examples illustrate the use of writable.writableFinished property in Node.js:
Example 1:
// Node.js program to demonstrate the // writable.writableFinished Property // Accessing 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(); } }); // Using for loop and calling // write method for (let i = 0; i < 5; i++) { writable.write(`GfG, #${i}!`); } // Emitting finish event writable.on( 'finish' , () => { console.log( 'All writes are now complete.' ); }); // Calling end function writable.end( 'This is the end\n' ); // Calling writable.writableFinished // Property writable.writableFinished; writable.destroy(); |
Output:
GfG, #0! GfG, #1! GfG, #2! GfG, #3! GfG, #4! This is the end All writes are now complete.
Example 2:
// Node.js program to demonstrate the // writable.writableFinished Property // Accessing 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(); } }); // Calling write() method writable.write( 'GfG' ); // Calling writable.writableFinished // Property writable.writableFinished; writable.destroy(); |
Output
GfG
In the above example the output is false as ‘finish’ event is not called before writable.writableFinished property.
Reference: https://nodejs.org/api/stream.html#stream_writable_writablefinished.