import pkg from 'node-csv'; import logger from '#root/utils/logger.js'; import path from 'path'; const __dirname = path.dirname(new URL(import.meta.url).pathname); const { createParser } = pkg let recipeData; let loaded = false; function parser() { const csv = createParser(); return new Promise((r, j) => { csv.parseFile(path.join(__dirname, './recipe.csv'), function (err, data) { if (err) { logger.err(err); return j(); } logger('食谱加载成功'); recipeData = data; loaded = true; r(recipeData); }); }); } export default async function getDb() { if (loaded) { return recipeData; } else { await parser() return recipeData; } }