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.