繁体   English   中英

如何编写异步 function 以使用 Promise.all 从所有 .csv 文件中导入数据?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM