Node.js Streams
Working with streams for efficient data processing
Readable Stream
const fs = require('fs');
const readStream = fs.createReadStream('file.txt');
readStream.on('data', (chunk) => { # read data
console.log(chunk);
});
Writable Stream
const writeStream = fs.createWriteStream('output.txt');
writeStream.write('Hello World'); # write data
writeStream.end(); # close stream
Pipe
const readStream = fs.createReadStream('input.txt');
const writeStream = fs.createWriteStream('output.txt');
readStream.pipe(writeStream); # pipe streams
Transform Stream
const { Transform } = require('stream');
const upperCase = new Transform({
transform(chunk, encoding, callback) {
this.push(chunk.toString().toUpperCase());
callback();
}
});
Stream Events
stream.on('data', chunk => { }); # data chunk received
stream.on('end', () => { }); # stream ended
stream.on('error', err => { }); # error occurred