qianduan f69e3117c2 冷链物流app1.0 10 月之前
..
test f69e3117c2 冷链物流app1.0 10 月之前
.travis.yml f69e3117c2 冷链物流app1.0 10 月之前
LICENSE.APACHE2 f69e3117c2 冷链物流app1.0 10 月之前
LICENSE.MIT f69e3117c2 冷链物流app1.0 10 月之前
index.js f69e3117c2 冷链物流app1.0 10 月之前
package.json f69e3117c2 冷链物流app1.0 10 月之前
readme.markdown f69e3117c2 冷链物流app1.0 10 月之前

readme.markdown

#through

build status testling badge

Easy way to create a Stream that is both readable and writable.

  • Pass in optional write and end methods.
  • through takes care of pause/resume logic if you use this.queue(data) instead of this.emit('data', data).
  • Use this.pause() and this.resume() to manage flow.
  • Check this.paused to see current flow state. (write always returns !this.paused).

This function is the basis for most of the synchronous streams in event-stream.

var through = require('through')

through(function write(data) {
    this.queue(data) //data *must* not be null
  },
  function end () { //optional
    this.queue(null)
  })

Or, can also be used without buffering on pause, use this.emit('data', data), and this.emit('end')

var through = require('through')

through(function write(data) {
    this.emit('data', data)
    //this.pause() 
  },
  function end () { //optional
    this.emit('end')
  })

Extended Options

You will probably not need these 99% of the time.

autoDestroy=false

By default, through emits close when the writable and readable side of the stream has ended. If that is not desired, set autoDestroy=false.

var through = require('through')

//like this
var ts = through(write, end, {autoDestroy: false})
//or like this
var ts = through(write, end)
ts.autoDestroy = false

License

MIT / Apache2