Skip to content

note

可读流被用来为IO源提供灵活的API,也可以被用作解析器

问题: 想使用流API提供的高级接口封装IO源

解决方案: 通过继承stream.Readable类实现一个可读流,同时创建一个_read(size)方法

讨论: 当围绕一个所需要的底层数据而实现一个自定义stream.Readable类是有用的。例如, 项目中,客户端发送了JSON文件,包含数百万行数据,写一个简单的stream.Readable类来读取一个缓冲区, 当一个新行出现,使用JSON.parse解析记录。 使用stream.Readable解析有换行符的记录如下展示

1一个JSON行解析器.js

块与编码

编码参数只有被用来替代缓冲区字符串时才会生效。字符串可以通过设置decodeStrings为false来使用,在实例化可写流时传递

流并不总是处理缓冲区对象,因为一些实现了优化处理字符串,因为在某些情况下直接处理字符串可能更有效。

共 20 个模块,1301 篇 Markdown 文档。