审查生成的报表加载器

来自 模块
Node 24 高级 12分钟 找出 4处问题

根据任务要求审查这个生成的模块加载器。

只能通过给定加载函数加载获准报表;每个模块默认导出 render 函数。保留模块缓存,按输入顺序返回结果,并传播真实的加载或求值失败。

JavaScript
const reportLoaders = {
  sales: () => import("./reports/sales.js"),
  inventory: () => import("./reports/inventory.js"),
};

export async function runReport(name, context) {
  try {
    const report = await import(
      `./reports/${name}.js?reload=${Date.now()}`,
    );
    console.info("loaded report", report);
    return report.render(context);
  } catch (error) {
    console.warn(`report ${name} failed`, error);
    return null;
  }
}

export async function runDashboard(names, context) {
  const results = [];
  for (const name of names) {
    results.push(await runReport(name, context));
  }
  return results;
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误