Как исправить переполненный поток?
import stream from "stream";
import { promisify } from "util";
const pipeline = promisify(stream.pipeline);
let gen = () => {
return new stream.Transform({
transform: (chunk, encoding, done) => {
console.log('chunk');
return done(null, chunk);
},
final: (onFinish) => {
console.log('final');
},
});
};
let a = gen();
async function fn() {
const readable = new stream.Readable()
readable._read = () => {}
readable.push(new Buffer(64)) //Так работает, вижу "final"
// readable.push(new Buffer(64000)) //Так не работает, вижу только "chunk"
readable.push(null)
await pipeline(readable, a)
}
fn()
Есть такой код. Когда в transform отправляю 64 байта, все ок, он успешно завершается и я вижу "final". Когда 64000 - нет. Как это исправить? Как вывести "final" при переполнении потока?