标签:node fs const 2021.07 stream pipe 内存 http
什么是流?
- 是一种 以高效的方式处理读 / 写文件、网络通信 或任何类型的端到端的信息交换。当告诉程序读取文件时,它可以 逐个片段 的读取并处理(而无需全部保存到内存中)
- Node.js 的 stream 模块 提供了构建所有流 API 的基础。 所有的流都是 EventEmitter 的实例。
内存效率: 无需加载大量数据到内存即可处理。
时间效率: 当获得数据之后可立即开始处,而不必等到整个数据 有效负载才开始。
示例: 从磁盘读取文件
const http = require('http')
const fs = require('fs')
const server = http.createServer((req, res) => {
const stream = fs.createReadStream(__dirname + '/data.txt')
stream.pipe(res) // 将数据块流式传入http客户端(获取来源流,并将其通过管道传输到目标流。)
})
server.listen(3000)
// pipe() 方法的返回值是目标流,这是非常方便的事情,它使得可以链接多个 pipe() 调用
src.pipe(dest1).pipe(dest2)
标签:node,fs,const,2021.07,stream,pipe,内存,http 来源: https://blog.csdn.net/qq_43080484/article/details/119216261
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。