簡體   English   中英

NodeJs csv-parse await 在 on('data')

[英]NodeJs csv-parse await inside on('data')

我有一個代碼,它逐行讀取 .csv 並將每個解析的行保存到數據庫中

const csv = require('csv-parse')
const errors = []
csv.parse(content, {})
    .on('data', async function (row: any) {
         const error = await tryToSaveToDatabase(row);
         if (error) {
            errors.push(error)
         }
     })
    .on('end', function () {
      // somehow process all errors
    })

但是,不幸的是, .on('end', ...塊被調用得更早,然后所有await塊都成功了。

我已經閱讀了 NodeJs Csv 解析器異步操作- 似乎我們不能在.on('data', ...回調中使用await

執行此類操作的正確方法是什么 - 如果我想逐行讀取 .csv (文件可能非常大 - 因此必須以流式方式執行)並在保存到數據庫時收集一些錯誤? (這些錯誤會顯示在前端)

https://csv.js.org/parse/api/async_iterator/此解決方案逐行讀取 .csv

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM