尝试遍历表列表,查询它们,然后使用可读/可写流将它们写入 CSV

问题描述

我正在尝试遍历 x 个表,对它们运行查询并将流数据写入 CSV 文件。第一个总是有效,但第二个失败,我得到一个 ERR_STREAM_WRITE_AFTER_END。我确定这与结果流有关,但我似乎无法弄清楚究竟是什么。

这是遍历我的对象的代码

    for (let table of tables) {
      let thisTable = table.t_name
      await getCsvData(thisTable)
    }

这是我的 getCsvData 函数

  const start = Date.Now()
  const sql = `SELECT * from ${thisTable}`
  let ws = fs.createWriteStream(`${thisTable}.txt`)
  let streamData = db.awsPool.query(sql)

  await new Promise(async (resolve,reject) => {
    streamData
    .stream()
    .on('end',end => {
      console.log('finished')
      return resolve('success')
    })
    .on('error',error => {
      console.log(`Error: ${error.message}`)
      return reject(error)
    })
    .pipe(stringifier)
    .pipe(ws)
    })
  })

}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)