htc 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
..
test 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
.travis.yml 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
LICENSE.APACHE2 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
LICENSE.MIT 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
index.js 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
package.json 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
readme.markdown 7ca38fdcbb 善行少年PC端首次提交(基础版) 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