根据给定任务,审查这段 AI 生成的工作线程实现。
只运行允许列表中的 CPU 密集报表计算,工作线程最多四个,保持输入顺序,任一工作失败时拒绝整批,并关闭所有工作线程。
JavaScript
import { Worker } from "node:worker_threads";
export function runReports(reports) {
const results = [];
return new Promise((resolve) => {
for (const [index, report] of reports.entries()) {
const worker = new Worker(report.source, {
eval: true,
workerData: report.input,
});
worker.once("message", (result) => {
results[index] = result;
resolve(results);
});
worker.once("error", (error) => console.error(error));
}
});
}
生成代码仅作示例,不代表任何特定模型