Node.js Writable Stream pipe Event
The pipe event in a Writable Stream is emitted when the stream.pipe() method is being called on a readable stream by attaching this writable to its set of destinations.
Syntax:
Event: 'pipe'
Return Value: If the pipe() method is being called then this event is emitted else it is not emitted.
The below examples illustrate the use of the ‘pipe’ event in Node.js:
Example 1:
javascript
// Node.js program to demonstrate the // pipe 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 pipe event writable.on( "pipe" , readable => { console.log( "Piped!" ); }); // Calling pipe method readable.pipe(writable); console.log( "Program Ended." ); |
Output:
Piped! Program Ended.
Example 2:
javascript
// Node.js program to demonstrate the // pipe 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 pipe event writable.on( "pipe" , readable => { console.log( "Piped!" ); }); console.log( "Program Ended" ); |
Output:
Program Ended
So, here pipe() function is not called so the pipe event is not emitted.
Reference: https://nodejs.org/api/stream.html#stream_event_pipe