根据任务要求审查这个生成的模块加载器。
只能通过给定加载函数加载获准报表;每个模块默认导出 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;
}
生成代码仅作示例,不代表任何特定模型