未显示结束侦听器

时间:2018-01-28 23:36:19

标签: node.js

var fs = require("fs"),
    read = fs.createReadStream();

read.on("data", chunk => {
console.log("Reading...");
});

read.on("end", () => {
console.log("Finished.");
});

这可以按预期工作,显示:

Reading...
Finished.

但是,当我只使用结束事件时,没有显示任何内容

var fs = require("fs"),
    read = fs.createReadStream();

read.on("end", () => {
console.log("Finished.");
});

为什么会这样?

1 个答案:

答案 0 :(得分:0)

可能是因为在data事件的监听者之前,流不会流动。

并且,考虑到这一点,在您附加data事件(或手动从中读取)之前它不会流动是一件好事,因为这样可以让您的代码有时间设置在您错过任何数据流之前,请先关注data监听器,特别是如果您在设置所有内容之前有异步操作等等。