Skip to content
Related Articles

Related Articles

Node.js | stream.Writable close Event
  • Last Updated : 27 Feb, 2020

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:

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.");

Output:

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.");

Output:

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

My Personal Notes arrow_drop_up
Recommended Articles
Page :