问题描述
我正在尝试使用“csvtojson”从多个 CSV 文件中获取数据。
问题是我无法向客户端发送数据,因为 promise 需要更长的时间来获取数据,并且我无法想出办法。
这是我的代码:
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);
});
解决方法
您的问题是在尝试将数据发送回客户端之前,您需要const {856:validName} = validity_checks;
所有 承诺。您可以通过映射您的承诺,然后使用 await
before 调用 await Promise.all
来做到这一点。以下内容应该可以帮助您完成大部分工作。
res.send