2021.07.29 stream 流 【拿来吧你 node】

什么是流?

  • 是一种 以高效的方式处理读 / 写文件、网络通信 或任何类型的端到端的信息交换。当告诉程序读取文件时,它可以 逐个片段 的读取并处理(而无需全部保存到内存中)
  • 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)
上一篇:matlab快速入门(18):项目 音频频率


下一篇:node.js