Writable Streams
writable stream methods
We've seen .pipe()
which is a method of all readable
streams (readable, transform, and duplex).
Any stream you can write to (writable, transform, and duplex streams) has these methods:
.write(buf)
.end()
.end(buf)
☛ you can addend
a buffer (writing then ending immediately).on('finish', function () {})
☛ writable streams have afinish
event when done(...).pipe(stream)
Let's create a writable stream:
var fs = require('fs')
var w = fs.createWriteStream('cool.txt')
w.write('hi\n')
w.write('wow\n')
w.end()
This is the minimal version.
var fs = require('fs')
var w = fs.createWriteStream('cool.txt')
// **** 1. listen to the finish event ↴
w.once('finish', function () {
console.log('FINISHED')
})
w.write('hi\n')
w.write('wow\n')
w.end()
You only get one finish
event, so you can use once
method of the NodeJS events API.
Sometimes you want to listen to the finish
event to make sure your file has finished writing to disk.