Node

阅读: 评论:0

Node

Node

可读流

const fs = require("fs");
const path = require("path");const filename = solve(__dirname, "./");
const rs = fs.createReadStream(filename, {/*编码格式*/encoding: "utf-8",/*流一次读取的数量*/highWaterMark: 1,/*读完后会自动完毕,默认为true*/autoClose: true 
});

当创建一个可读流之后会触发注册事件 可以脑补位Dom事件注册–类似于addeventlistener
规则如<(事件名,处理函数)

open

文件打开事件,表示文件被打开- 打开后触发

rs.on("open", () => {console.log("文件被打开了");
});

error

读取出错事件 表示在读取过程中出现错误

rs.on("error", () => {console.log("出错了!!");
});

close

文件关闭后触发 如:rs.close手动关闭
读取完成之后才会关闭,当前只是打开环节,不会触发这个

rs.on("close", () => {console.log("文件关闭了");
});

data

只有注册这个事件之后才会开始进行文件读取 ps:全部读取之后会导致close触发
作为可读流 这个是一节一节读的 具体一次读多少 会参考函数highWaterMark&encoding两个函数 如encoding为默认值则一次读取一个字节(1文字=3字节)

rs.on("data", 数据参数=> {console.log("读到了一部分数据:", 数据参数);
});
<(“resume”, () => {
console.log(“恢复了”);
});

end

全部数据读取完毕, 会优先于close函数触发 end>close

rs.on("end", () => {console.log("全部数据读取完毕");
});

补充

rs.sume

rs.pause:暂停读取
rs.resume 继续读取

rs.on("data", 数据参数=> {console.log("读到了一部分数据:", 数据参数);
});
rs.on("pause", () => {console.log("暂停了");setTimeout(() => {rs.resume();}, 1000);
});

本文发布于:2024-01-28 02:18:15,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17063794994075.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:Node
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23