我得到了一个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 (file) {
Readable.from(file)
.pipe(csv())
.on('data', (data) => {
if (data.tim > 59)
return 'stop'
})
}
只有当我将它推送到一个数组中,读取整个文件,然后在结束后返回一些内容时,这才有效。
我试过了 createReadStream
但不能与缓冲区一起工作,我得到了一个错误 ENAMETOOLONG:
,它可以很好地工作,但不能停止 on.('data')
暂无答案!
目前还没有任何答案,快来回答吧!