Open In App

Node.js stream.Writable close Event

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

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



Last Updated : 12 Oct, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads