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

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