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()
});