Node.js Writable Stream unpipe Event
The ‘unpipe’ event in a Writable Stream is emitted when the stream.unpipe() method is being called on a Readable stream by detaching this Writable from its set of destinations.
Syntax:
Event: 'unpipe'
Return Value: If the unpipe() method is being called then this event is emitted else it’s not emitted.
The below examples illustrate the use of the ‘unpipe’ event in Node.js:
Example 1:
javascript
// Node.js program to demonstrate the // unpipe event // Accessing fs module const fs = require( "fs" ); // Create a readable stream const readable = fs.createReadStream( 'input.txt' ); // Create a writable stream const writable = fs.createWriteStream( 'output.txt' ); // Handling unpipe event writable.on( "unpipe" , readable => { console.log( "Unpiped!" ); }); // Calling pipe method readable.pipe(writable); // Calling unpipe method readable.unpipe(writable); console.log( "Program Ended..." ); |
Output:
Unpiped! Program Ended...
Example 2:
javascript
// Node.js program to demonstrate the // unpipe event // Accessing fs module const fs = require( "fs" ); // Create a readable stream const readable = fs.createReadStream( 'input.txt' ); // Create a writable stream const writable = fs.createWriteStream( 'output.txt' ); // Handling unpipe event writable.on( "unpipe" , readable => { console.log( "Unpiped!" ); }); console.log( "Program Ended..." ) |
Output:
Program Ended...
So, here unpipe() function is not called so the unpipe event is not emitted.
Reference: https://nodejs.org/api/stream.html#stream_event_unpipe
Contact Us