对象模式
🌐 Object mode
所有由 Node.js API 创建的流仅操作字符串、<Buffer>、<TypedArray> 和 <DataView> 对象:
🌐 All streams created by Node.js APIs operate exclusively on strings, <Buffer>, <TypedArray> and <DataView> objects:
Strings和Buffers是与流一起使用的最常见类型。TypedArray和DataView让你可以使用像Int32Array或Uint8Array这样的类型来处理二进制数据。当你将 TypedArray 或 DataView 写入流时,Node.js 会处理原始字节。
然而,流实现也可以与其他类型的 JavaScript 值一起工作(null 除外,因为它在流中有特殊用途)。这样的流被认为是在“对象模式”下运行的。
🌐 It is possible, however, for stream
implementations to work with other types of JavaScript values (with the
exception of null, which serves a special purpose within streams).
Such streams are considered to operate in "object mode".
流实例在创建时使用 objectMode 选项切换到对象模式。尝试将已有流切换到对象模式是不安全的。
🌐 Stream instances are switched into object mode using the objectMode option
when the stream is created. Attempting to switch an existing stream into
object mode is not safe.