[英]How to write an async function to import data from from all `.csv` files using `Promise.all`?
这是我当前的代码,我需要用 function 替换硬编码文件的名称,以便从data/CSV
文件夹下的所有 CSV 文件中导入数据。
const importTables = [
"Macquarie University course.csv",
"Australia National University courses.csv",
"UTS courses.csv",
"UNSW courses.csv",
"Western University of Sydney courses.csv"
]
const Importdatamultiplefiles = async function () {
await Promise.all(importTables.map(CourseInformation => importdata(CourseInformation, courseParams.TableName)));
return;
}
Importdatamultiplefiles();
为了获得 csv 文件的列表,您可以使用glob package。 安装:
npm i glob
然后定义一个异步 function 来生成 csv 文件列表:
var glob = require("glob")
async function getAllCSVs(path) {
return new Promise((resolve, reject)=>{
glob(path+"/*.csv", {}, function (er, files) {
if (er) reject(er);
else resolve(files);
}
});
}
然后在你的代码中添加
try {
importTables = await getAllCSVs("data/CSV");
// rest of the code
}
catch(e) {
// oops, error while getting list of csv files ...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.