节点事件发射器

时间:2017-07-28 06:51:13

标签: javascript node.js events stream

我是节点新手,我正在研究事件发射器,我创建了一个演示程序

componentDidMount

所以输出是'完成'但是如果我在写入流之后写入读取流,则输出是“完成一些数据”,所以如果我把它放在第一位,为什么读取流不产生输出。

PS:我已经在文件中有数据

1 个答案:

答案 0 :(得分:1)

正如@jfriend00正确提到的那样,你应该先写文件,然后就可以阅读了。

const fs = require("fs");

var writeStream = fs.createWriteStream("demo.txt");
writeStream.write('some data','UTF8');
writeStream.end();
writeStream.on('finish',function(){
  console.log("finish");

  let data = '';

  const read = fs.createReadStream("demo.txt", {encoding: 'UTF8'});

  read.on('data', function(resp) {  
    console.log(resp);
    data += resp;
  });
});

所以,这里有几点:

  • 您实际上并未在自己的
  • 中使用事件发射器
  • 您可以直接在createReadStream方法
  • 中设置编码