A write stream constructor that supports a flush function that is called before finish
is emitted
npm install flush-write-stream
var writer = require("flush-write-stream")
var ws = writer(write, flush)
ws.on("finish", function () {
console.log("finished")
})
ws.write("hello")
ws.write("world")
ws.end()
function write (data, enc, cb) {
// i am your normal ._write method
console.log("writing", data.toString())
cb()
}
function flush (cb) {
// i am called before finish is emitted
setTimeout(cb, 1000) // wait 1 sec
}
If you run the above it will produce the following output
writing hello
writing world
(nothing happens for 1 sec)
finished
Create a new writable stream. Options are forwarded to the stream constructor.
Same as the above except objectMode
is set to true
per default.
MIT