如何解决在数据找到条件时停止可读流
我有一个 csv 缓冲区,我将它发送到一个函数。 在缓冲区中我得到了这个数据:
name,age
tom,33
pal,22
tim,60
jon,12
我使用一个节点 stream
将它通过管道连接到一个带有 csv-parser
的对象,当我走的时候,我想看看是否满足条件,如果我们发现 tim
的年龄已经超过 59 我希望它停止所以 jon 永远不会被读取,我希望这个函数返回一个字符串。
import { Readable } from 'stream'
import csv from 'csv-parser'
export default async function (buffer) {
Readable.from(buffer)
.pipe(csv())
.on('data',(data) => {
if (data.age > 59)
return 'stop'
})
}
这仅在我将其推送到数组时才有效,读取整个文件,然后最后返回一些内容。
我尝试了 createReadStream
但对缓冲区不起作用,我得到并出错 ENAMetoOLONG:
,使用流它运行良好但无法停止 on.('data')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。