-
-
Couldn't load subscription status.
- Fork 33.6k
Closed
Labels
streamIssues and PRs related to the stream subsystem.Issues and PRs related to the stream subsystem.
Description
In the following example sink should wait for all piped streams to unpipe() before calling _flush.
As it currently stands the following code outputs:
$ node test1.js
a
doneIf you remove the // applyFix(); comment you get:
$ node test1.js
a
b
donevar through = require('through2');
var tap1 = through.obj();
var tap2 = through.obj();
var sink = through.obj(transform, flush);
var pipes = 0;
// applyFix();
tap1.pipe(sink);
tap2.pipe(sink);
tap1.write('a');
tap1.end();
setTimeout(function(){
tap2.write('b');
tap2.end();
}, 100);
function applyFix(){
sink.on( 'pipe', function(){
pipes++;
});
sink.end = function(){
if( !--pipes ){
sink._flush();
}
};
}
function flush(){
console.log( 'done' );
}
function transform( item, e, next ){
console.log( item );
this.push(item);
next();
}ref: #89
Qix- and Wandalen
Metadata
Metadata
Assignees
Labels
streamIssues and PRs related to the stream subsystem.Issues and PRs related to the stream subsystem.