streams and Buffer in nodeJs | Readable and Writable streams
NodeJS Streams
            Streams are objects that let you read data from a source or write data to a destination in continuous fashion. In Node JS, there are four types of streams.
Streaming means listening to music or watching video in 'real time', instead of downloading a file to your computer and watching it later.
| Readable | stream which is used for read operation. | 
| Writeable | Stream which is used for write operation | 
| Duplex | Stream which can be used for both read and write operation | 
| Transform | A type of duplex stream where the output is computed based on input | 
Each type of Stream is on EventEmitter instanceand throws several events at different instance of times. For Example, some of the commonly used events are-
| data | This event is fired when there is data is availabe to read. | 
| end | This event is fired when there is no more data to read | 
| error | This event is fired whenn there is any error receiving or writing data | 
| finish | This event is fired when all the data has been flushed to underlying system | 
Outputconst fs = require('fs');const http = require('http')const server = http.createServer();server.on('request',(req, res)=>{fs.readFile("index.txt",(err, data)=>{if (err) return console.error(err);// console.log(data.toString());res.end(data.toString());});});server.listen(8000, "127.0.0.1");
Outputconst fs = require('fs');const http = require('http')const server = http.createServer();server.on('request',(req, res)=>{const rstream = fs.createReadStream('index.txt');rstream.on('data',(chunkData)=>{res.write(chunkData);})rstream.on('end',()=>{res.end();});rstream.on('error',(err)=>{console.log(err);})});server.listen(8000, "127.0.0.1");


Post a Comment