Skip to content
Related Articles

Related Articles

Improve Article

Node.js stream.Writable close Event

  • Last Updated : 12 Oct, 2021
Geek Week

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 :