对象模式


🌐 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.