In the following code the end
event of read stream is fired properly.
const frs = createReadStream("./file.txt", {
encoding: "utf8"
});
frs
.on("data", chunk => {
console.log(chunk);
})
.on("error", err => {
throw err;
})
.on("end", () => {
doSomething()
});
But why the end
event is not fired when piping to Transform
streams.
frs
.pipe(transform1)
.pipe(transform2)
.on("error", err => {
throw err;
})
.on("end", () => {
doSomething()
});
In the second case (piping) how to call doSomething
when stream is ended?
You can perform actions in 'finish' event.
Just replace 'end' on 'finish'
frs
.pipe(transform1)
.pipe(transform2)
.on("error", err => {
throw err;
})
.on("finish", () => {
doSomething()
});