Closed
Description
- Version: v14.5.0
- Platform: Ubuntu/Linux
- Subsystem: stream
let stream = require('stream');
let src = new stream.Readable({
read() {
console.log('push')
this.push(Buffer.alloc(20000));
}
});
let dst = new stream.Transform({
transform(chunk, output, fn) {
this.push(null);
fn();
}
});
src.pipe(dst);
function parser_end(error) {
console.log('parser ended', error);
dst.removeAllListeners();
}
dst.once('data', data => console.log(data));
dst.once('end', () => parser_end());
dst.on('error', error => parser_end(error));
- Expected behavior (tested on node v10, 12):
end
event is emitted bydst
, transform stops, source pauses. - Actual behavior (tested on node v14):
end
event does not get emitted bydst
, transform runs indefinitely.