0

我正在使用 puppeteer 为内部用户创建一个小工具。

基本上我得到了一个 csv 文件,其中包含一些我“读取”并填写表格的数据。

当我尝试清理我的项目以使其可重用时,我有点挣扎:

我创建了一个文件名 parsecsv.js

const config = require('../config.json');
const parse = require('csv-parse');
const fs = require('fs');

const processFile = async () => {
    records = []
    const parser = fs
        .createReadStream(config.sourceFile)
        .pipe(parse({
            // CSV options
            from_line: 1,
            delimiter: ";",
        }));
    let i =1;
    for await (const record of parser) {
        records.push(record)
        i++;
    }
    return records
}

const processFileData = async () => {
    const records = await processFile()
    console.info(records);
    return records
}


module.exports ={
    processFile, processFileData
}

在我制作的另一个 Js 文件中

const parseCSV = require('./src/ParseCsv');
const records = parseCSV.processFileData();
const data = parseCSV.processFile();
console.log(typeof records);
console.table(records);
console.log(typeof data);
console.table(data);

但我从来没有让我的数据只是一个空的对象。如何让我的数据能够与其他功能“共享”?

谢谢

4

1 回答 1

0

由于您的函数是异步函数并且它们返回一个承诺,因此您可以执行类似的操作

const parseCSV = require('./src/ParseCsv');
(async () => {
        const records = await parseCSV.processFileData();
        const data = await parseCSV.processFile();
        console.log(typeof records);
        console.table(records);
        console.log(typeof data);
        console.table(data);
         
          })()
于 2021-01-08T11:56:08.810 回答