3 回答

TA貢獻2041條經驗 獲得超4個贊
答案只是將函數包裝在 async 中并使用await. 我猜你無法在async??之外獲取此數據
async function getTableDetails(paths, rowStart = 2) {
let tables = {};
for (var i = 0; i < paths.length; i++) {
let p = paths[i];
const getRows = async (fileName) => {
const csvData = await csvToJson({
delimiter: "\t",
trim: true
}).fromFile(fileName);
return csvData;
};
let rows = await getRows(p);
tables[p] = { rows: rows };
}
return tables;
}
(async function test() {
let tableDetails = await getTableDetails(fps, rowStart=2);
console.log(Object.keys(tableDetails));
doSomething(tableDetails);
})();

TA貢獻2011條經驗 獲得超2個贊
嘗試這個
const csvToJson = require("csvtojson");
const getRows = async (fileName) => {
const csvData = await csvToJson({
delimiter: "\t",
trim: true
}).fromFile(fileName);
return csvData;
};
getRows("myfile.tsv").then(data=>{
console.log(data.length);
}
)

TA貢獻1831條經驗 獲得超4個贊
你可以這樣做
const csvToJson = require("csvtojson");
const getRows = async (fileName) => {
const csvData = await csvToJson({
delimiter: "\t",
trim: true
}).fromFile(fileName);
const rows = [];
csvData.forEach((row) => {
rows.push(row);
});
return rows;
};
getRows("myfile.tsv").then((rows) => {
console.log(rows.length);
});
添加回答
舉報