mirror of
https://github.com/keven1024/015.git
synced 2026-05-26 23:19:37 +00:00
15 lines
427 B
TypeScript
15 lines
427 B
TypeScript
const asyncWorker = (w: new () => Worker, opts: { data: any }) => {
|
|
const { data } = opts || {}
|
|
return new Promise<MessageEvent>((resolve, reject) => {
|
|
const worker = new w()
|
|
worker.postMessage(data || {})
|
|
worker.onmessage = (e: MessageEvent) => {
|
|
resolve(e)
|
|
}
|
|
worker.onerror = (e: ErrorEvent) => {
|
|
reject(e)
|
|
}
|
|
})
|
|
}
|
|
export default asyncWorker
|