The readable.destroy() method is an inbuilt application programming interface of Stream module which is used to destroy the stream.
Syntax:
readable.destroy( error )
Parameters: This method accepts single parameter error which is optional and it emits an error while handling error event.
Return Value: If this method is used then the stream is destroyed and if the error parameter is passed as an argument then it emits an error event.
Below examples illustrate the use of readable.destroy() method in Node.js:
Example 1:
// Node.js program to demonstrate the // readable.destroy() method // Include fs module const fs = require( "fs" );
// Constructing readable stream const readable = fs.createReadStream( "input.txt" );
// Instructions for reading data readable.on( 'readable' , () => {
let chunk;
// Using while loop and calling
// read method with parameter
while ( null !== (chunk = readable.read(1))) {
// Displaying the chunk
console.log(`read: ${chunk}`);
}
}); // Calling destroy method readable.destroy(); // Displays that the stream is // destroyed console.log( "Stream destroyed" );
|
Output:
Stream destroyed
Example 2:
// Node.js program to demonstrate the // readable.destroy() method // Include fs module const fs = require( "fs" );
// Constructing readable stream const readable = fs.createReadStream( "input.txt" );
// Instructions for reading data readable.on( 'readable' , () => {
let chunk;
// Using while loop and calling
// read method with parameter
while ( null !== (chunk = readable.read())) {
// Displaying the chunk
console.log(`read: ${chunk}`);
}
}); // Handling error event readable.on( 'error' , err => {
console.log(err);
}); // Calling destroy method // with parameter readable.destroy([ 'error' ]);
// Displays that the stream is // destroyed console.log( "Stream destroyed" );
|
Output:
Stream destroyed [ 'error' ]
In the above example error event is emitted.
Reference: https://nodejs.org/api/stream.html#stream_readable_destroy_error