在以下代码中,已正确触发读取流的end
事件。
const frs = createReadStream("./file.txt", {
encoding: "utf8"
});
frs
.on("data", chunk => {
console.log(chunk);
})
.on("error", err => {
throw err;
})
.on("end", () => {
doSomething()
});
但是为什么在管道传输到end
流时未触发Transform
事件。
frs
.pipe(transform1)
.pipe(transform2)
.on("error", err => {
throw err;
})
.on("end", () => {
doSomething()
});
在第二种情况下(管道传输),在流结束时如何调用doSomething
?
答案 0 :(得分:2)
您可以在“完成”事件中执行操作。
只需在“完成”上替换“结束”
frs
.pipe(transform1)
.pipe(transform2)
.on("error", err => {
throw err;
})
.on("finish", () => {
doSomething()
});