The stream.Writable close Event is an inbuilt application programming interface of Stream module which is used to emit when the stream and any of its hidden resources (for example, a file descriptor) is being closed. This event implies that no further events will be emitted, plus no further computation will take place.
Syntax:
javascript
Output:
javascript
Output:
Event: 'close'Return Value: If the writable.destroy() method is being called or a file descriptor is being closed after this event then this event is emitted else it's not emitted. Below examples illustrate the use of stream.Writable close Event in Node.js: Example 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.");
GeeksforGeeks program is ended. No further operations will be performed!In the above example, writable.destroy() method is called after the close event so it is emitted. Example 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.");
GeeksforGeeks program is ended.So, here writable.destroy() function is not called so the close event is not executed. Reference:https://nodejs.org/api/stream.html#stream_event_close