配置选项
任务超时时间(毫秒),默认不设置超时
是否自动检测可传输对象,默认为 true
返回一个可以调用的 Worker 任务函数,包含 terminate 和 isActive 方法
// 基本用法
const workerAdd = createWorkerTask((a: number, b: number) => a + b);
const result = await workerAdd(1, 2); // 3
// 异步函数
const workerFetch = createWorkerTask(async (url: string) => {
const response = await fetch(url);
return response.json();
});
const data = await workerFetch('/api/data');
// 复杂计算任务
const workerCalculate = createWorkerTask((nums: number[]) => {
return nums.reduce((sum, num) => sum + Math.pow(num, 2), 0);
});
const result = await workerCalculate([1, 2, 3, 4, 5]);
// 带超时的任务
const workerWithTimeout = createWorkerTask(
(data: unknown[]) => expensiveCalculation(data),
{ timeout: 5000 }
);
// 清理资源
workerAdd.terminate();
要在 Worker 中运行的(异步)函数