fn
useWebWorkerFn
v0.0.15testeddemoRun an expensive function in a transient Web Worker off the main thread
Examples
ts
const { workerFn, workerStatus } = useWebWorkerFn((n: number) => {
let sum = 0;
for (let i = 0; i < n; i++) sum += i;
return sum;
});
const total = await workerFn(1e9);ts
const { workerFn } = useWebWorkerFn(dates => dayjs(dates[0]).isBefore(dates[1]), {
dependencies: ['https://cdn.jsdelivr.net/npm/dayjs@1/dayjs.min.js'],
timeout: 5000,
});Demo
Loading demo…
Signature
ts
export function useWebWorkerFn<T extends AnyFunction>(
fn: T,
options: UseWebWorkerFnOptions ={ ... }Type Parameters
Textends AnyFunctionParameters
| Parameter | Type | Description |
|---|---|---|
fn | T | The function to execute inside the worker (must be self-contained or rely on `dependencies`/`localDependencies`) |
options? | UseWebWorkerFnOptions | Worker dependencies, timeout and error hook |
Returns
UseWebWorkerFnReturn<T>`{ workerFn, workerStatus, workerTerminate, isSupported }`