Skip to content

createWorker 创建 Worker

function createWorker(fun: (...args: any) => any): Worker

将传入函数转换为 Blob URL,并创建原生 Web Worker 实例。创建后会立即释放临时 Blob URL。

参数

参数名说明类型默认值
funWorker 中执行的函数(...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)

注意事项

  • 传入函数会被字符串化,不能依赖外部闭包变量。
  • 该函数依赖浏览器 BlobURL.createObjectURLWorker