陈鹏铭 93064e9f91 首次提交 11 mesi fa
..
.travis.yml 93064e9f91 首次提交 11 mesi fa
LICENSE 93064e9f91 首次提交 11 mesi fa
README.md 93064e9f91 首次提交 11 mesi fa
example.js 93064e9f91 首次提交 11 mesi fa
index.js 93064e9f91 首次提交 11 mesi fa
package.json 93064e9f91 首次提交 11 mesi fa
test.js 93064e9f91 首次提交 11 mesi fa

README.md

flush-write-stream

A write stream constructor that supports a flush function that is called before finish is emitted

npm install flush-write-stream

build status

Usage

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

API

var ws = writer([options], write, [flush])

Create a new writable stream. Options are forwarded to the stream constructor.

var ws = writer.obj([options], write, [flush])

Same as the above except objectMode is set to true per default.

License

MIT