快速了解 Node 中的 Stream 流是什么

框架

浏览数:1,163

2019-1-15

Stream

Buffer 的工作原理

20190115005634.png

  • Data 是一块大数据
  • 他被分为很多个小数据
  • 每块小数据都被存储在内存中的 Buffer 中

20190115005751.png

  • 接着 Buffer 不断接收小数据
  • 同时一旦 Buffer 接收的小数据填满了就会被消费
  • 填满的 Buffer 也被称为一个 Chunk
  • 所有 Chunk 组合而成的才是那块 Data 大数据

Stream 的分类

  • Read Stream
  • Write Stream
  • Duplex
  • Transform

20190115010717.png

Duplex 实际上就是有两个 Buffer 一个处理 ReadStream 另一个是处理 WriteStream;典型的例子就是 Network Socket

20190115011020.png

Transform 实际上有三个 Buffer 串联一起,中间的 Buffer 实际上就是类似中转的运输作用,也可以从中修改数据;典型的例子就是 encoding/decoding, Compressing/Decompressing, Filtering data, JS to JSON

pipe

20190115011330.png

pipe 的概念就相当于一个“水管”,将 readable 连接至 writable

原文地址:https://segmentfault.com/a/1190000017893380