useWorkerFunction
一个在 worker 中使用纯函数的 Hook
参照 useWorker 源码用 Vue 实现的。
代码演示
基本用法
API
const { callWokerFn, status, worker, killWorker } = useWorkerFunction(
fn,
Options?,
);
Result
参数 | 类型 | 说明 |
---|---|---|
workerFn | (...workerArgs: Parameters<T>) => Promise<ReturnType<T>> | 触发执行fn 的函数 |
status | Ref<WORKER_STATUS> | 函数workerFn 的执行状态 |
killWorker | Function | 通过这个函数 kill worker |
worker | Ref<WorkerWithURL> | worker 引用 |
Params
参数 | 类型 | 说明 |
---|---|---|
fn | Function | 传入在 woker 中执行的纯函数 |
options | Object | 可选参数 |
Options
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
timeout | Number | undefined | 设置超时时间,在传入时间内未执行完,会 kill woker |
remoteDependencies | Array of String | [] | 设置 woker 运行需要的远程依赖 |
autoTerminate | Boolean | true | fn 执行结束后 kill woker(不管成功或失败) |
transferable | String | 'auto' | 开启 Transferable Objects, 需要关闭可以设置 transferable: 'none' |