我正在尝试使用“csvtojson”从多个 CSV 文件中获取数据。
- 获取目录中的文件名数组。
- Ran forEach 以 JSON 格式从不同的 CSV 文件中获取数据并推送到单个数组中。
问题是我无法向客户端发送数据,因为 promises 需要更长的时间来获取数据并且我无法找到方法。
这是我的代码:
router.get("/covidData/", (req, res) => {
const jsonData = [];
const files = fs.readdirSync(__dirname.replace("routes", "public/covidData"));
const fetchData = () => {
files.forEach(async (file) => {
let response = await csvtojson({
includeColumns: /Date Announced|Detected State|Current Status/,
}).fromFile(__dirname.replace("routes", "public/covidData/" + file));
jsonData.push(...response);
});
};
fetchData();
res.send(jsonData);
});