Node.js Stream

在 Node.js 中,Stream 是一种处理流式数据的抽象接口。Stream 可以是可读的、可写的,或者同时可读可写的。

可读流(Readable Stream)

可读流用于从数据源读取数据。例如,读取文件、网络请求等。

创建可读流

----- -- - --------------

----- -------------- - --------------------------------

------------------------- ------- -- -
  ------------------------------
---

------------------------ -- -- -
  ---------------- -- -------
---

可读流事件

  • data:当有数据可读时触发。
  • end:当没有更多的数据可读时触发。
  • error:当发生错误时触发。

可写流(Writable Stream)

可写流用于向目标写入数据。例如,写入文件、网络响应等。

创建可写流

----- -- - --------------

----- -------------- - -----------------------------------

---------------------------- -----------
---------------------

可写流事件

  • drain:当流中所有数据都已经被传递给底层系统时触发。
  • finish:当所有数据已经被写入底层系统时触发。
  • error:当发生错误时触发。

双工流(Duplex Stream)

双工流既可以读取数据,也可以写入数据。

创建双工流

----- - ------ - - ------------------

----- ------------ - --- --------
  ------------ --------- --------- -
    ------------------------------
    -----------
  --
  ---------- -
    ----------------- -----------
    ----------------
  -
---

----------------------------------

双工流事件

双工流同时继承了可读流和可写流的事件。

转换流(Transform Stream)

转换流是一种特殊的双工流,用于对数据进行转换。

创建转换流

----- - --------- - - ------------------

----- --------------- - --- -----------
  ---------------- --------- --------- -
    ------------------------------------------
    -----------
  -
---

---------------------------------------------------------

转换流事件

转换流同时继承了可读流和可写流的事件。

以上是关于 Node.js Stream 的简要介绍,希望能帮助你更好地理解和应用 Stream。


上一篇:Node.js Buffer
下一篇:Node.js 模块系统