在没有循环的情况下使用 csv-parse

Using csv-parse without a loop

我正在使用 csv-parse 节点包来解析 CSV 字符串。文档建议我使用如下内容读取解析结果:

const output = []
parse(`
  "1","2","3"
  "a","b","c"
`)
.on('readable', function() {
  let record
  while (record = this.read()) {
    output.push(record)
  }
})

这种方法通过在 while 循环内赋值(并且有一个未命名的函数)激怒了 linting 神。一开始它也不会让我感觉很好;我感觉某处有更简洁易读的方法。

如何在不使用 while 循环的情况下从 csv-parse 流填充解析结果?

因为它是 ReadableStream,如果您愿意,可以使用 on('data', () => {})

.on('data', (record) => output.push(record))

无论如何,该代码没有任何问题,这是 csv-parse 开发人员推荐的方法。