【发布时间】:2021-07-16 04:05:12
【问题描述】:
我正在想办法解决这个问题:
我有一个函数可以读取 csv,将其保存到数组中,然后返回数组。我的问题:在我尝试返回数组之前,它总是返回一个空数组,因为文件流尚未完成。
const parser = require("csv-parser");
const fs = require("fs");
class CsvConverter {
constructor() {}
convert(filePath) {
console.log(this.getRawCsv(filePath));
[...]
}
getRawCsv(filePath) {
const results = [];
fs.createReadStream(filePath)
.pipe(parser())
.on("data", (data) => results.push(data));
// .on("end", () => {});
return results;
}
[...]
}
module.exports = CsvConverter;
我已经尝试使用.on("end", () => {}); 回调,但我找不到在回调函数中返回结果数组的方法。
使用 Promises 和 async/await 功能对我也不起作用,但原因可能是我对这个功能太缺乏经验。
感谢您的帮助和可能的解决方案:)
亲切的问候, 安德烈亚斯
【问题讨论】:
标签: javascript node.js