stream流:将数据的传输看作是水流,分段传输,能更好的控制,提高效率。
所有的 Stream 对象都是 EventEmitter 的实例
分类:包括了读,写,边读边写等数据流。
eg:fs的文件读写等api; 用读文件的数据流据举例子:
//自主定义读文件的流
let freadStream = fs.createReadStream('./test.txt',{
//每次读取字节数
highWaterMark:3,
//读取模式
flags:'r', //默认 'r'
autoClose:true, //默认读取完毕后自动关闭
start:0, //读取文件开始位置
// end:3, //流是闭合区间 包含start也含end
encoding:'utf8' //默认null
})
//上面创建了一个读取test.data的数据流,现在让他运行起来
freadStream.on('open',()=>{
console.log('流开始打开文件');
})
freadStream.on('data',(e)=>{
console.log('持续有数据被读取出来:',e);
})
freadStream.on('end',()=>{
console.log("数据读取完成,没有流了");
})```
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。