首页 > 解决方案 > 在 nodejs 中,如何先读取 CSV 标头但仍异步处理文件的其余部分

问题描述

我想读入一个 csv 文件,但基于我想查询用户输入的标题('此列是字符串还是数字列?')。这意味着例程是“双重”异步的;在处理标题行时读取流并查询用户。

到目前为止,我看到的库无法异步处理标题行,或者我遗漏了一些东西。

我如何在不必自己重新实现 csv 逻辑的情况下实现这一点。

let csvHeader = null
fs.createReadStream(path)
    .pipe(csv_parse({ delimiter }))
    .on('data', function (csvrow) {
        //do something with csvrow
        if (csvHeader === null) {
            //handle header asynchronously
            csvHeader = ....
        } else {
            //handle row
        }
    })
    .on('end', function () {
        ....

标签: node.jscsvasynchronoususer-input

解决方案


推荐阅读