htc 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
..
test 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
.npmignore 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
.travis.yml 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
LICENSE 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
README.md 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
index.js 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
package.json 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前

README.md

ordered-read-streams NPM version Build Status

Combines array of streams into one read stream in strict order.

Installation

npm install ordered-read-streams

Overview

ordered-read-streams handles all data/errors from input streams in parallel, but emits data/errors in strict order in which streams are passed to constructor. This is objectMode = true stream.

Example

var through = require('through2');
var Ordered = require('ordered-read-streams');

var s1 = through.obj(function (data, enc, next) {
  var self = this;
  setTimeout(function () {
    self.push(data);
    next();
  }, 200)
});
var s2 = through.obj(function (data, enc, next) {
  var self = this;
  setTimeout(function () {
    self.push(data);
    next();
  }, 30)
});
var s3 = through.obj(function (data, enc, next) {
  var self = this;
  setTimeout(function () {
    self.push(data);
    next();
  }, 100)
});

var streams = new Ordered([s1, s2, s3]);
streams.on('data', function (data) {
  console.log(data);
})

s1.write('stream 1');
s1.end();

s2.write('stream 2');
s2.end();

s3.write('stream 3');
s3.end();

Ouput will be:

stream 1
stream 2
stream 3

Licence

MIT