Node.js 流处理、进程信息与文件操作全解析
1. 流处理基础与异步迭代
在 Node.js 中,流处理是高效处理大量数据的关键技术。我们可以使用流来实现类似 grep 的程序。以下是一个简单的示例代码:
let pattern = new RegExp(process.argv[2]); // 获取命令行中的正则表达式
process.stdin // 从标准输入开始
.setEncoding("utf8") // 以 Unicode 字符串形式读取
.pipe(new GrepStream(pattern)) // 管道到自定义的 GrepStream
.pipe(process.stdout) // 再管道到标准输出
.on("error", () => process.exit()); // 若标准输出关闭,优雅退出
在 Node 12 及更高版本中,可读流成为了异步迭代器。这意味着在异步函数中,我们可以使用 for/await 循环以类似同步代码的结构从流中读取字符串或 Buffer 块。下面是使用异步迭代重写的 grep 程序:
// 从源流读取文本行,并将匹配指定模式的行写入目标流
a
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



