Appearance
createWorker 创建 Worker
function createWorker(fun: (...args: any) => any): Worker
将传入函数转换为 Blob URL,并创建原生 Web Worker 实例。创建后会立即释放临时 Blob URL。
参数
| 参数名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| fun | Worker 中执行的函数 | (...args: any) => any | 必填 |
返回值
| 返回值 | 说明 | 类型 |
|---|---|---|
| worker | 新创建的 Worker 实例 | Worker |
示例
基础用法
typescript
import { createWorker } from '@mingto/tools'
const worker = createWorker(() => {
globalThis.onmessage = (event) => {
const result = event.data * 2
globalThis.postMessage(result)
}
})
worker.onmessage = (event) => {
console.log(event.data)
}
worker.postMessage(21)关闭 Worker
typescript
import { closeWorker, createWorker } from '@mingto/tools'
const worker = createWorker(() => {})
closeWorker(worker)注意事项
- 传入函数会被字符串化,不能依赖外部闭包变量。
- 该函数依赖浏览器
Blob、URL.createObjectURL和Worker。