parent
a1a75f3c5e
commit
f63a57a147
@ -0,0 +1,28 @@
|
||||
import { Draw } from '../draw/Draw'
|
||||
|
||||
export class WorkerManager {
|
||||
|
||||
private draw: Draw
|
||||
private wordCountWorker: Worker
|
||||
|
||||
constructor(draw: Draw) {
|
||||
this.draw = draw
|
||||
this.wordCountWorker = new Worker(new URL('./works/wordCount.ts', import.meta.url))
|
||||
}
|
||||
|
||||
public getWordCount(): Promise<number> {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.wordCountWorker.onmessage = (evt) => {
|
||||
resolve(evt.data)
|
||||
}
|
||||
|
||||
this.wordCountWorker.onerror = (evt) => {
|
||||
reject(evt)
|
||||
}
|
||||
|
||||
const elementList = this.draw.getOriginalElementList()
|
||||
this.wordCountWorker.postMessage(elementList)
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
import { IElement } from '../../../interface/Element'
|
||||
|
||||
onmessage = (evt) => {
|
||||
const elementList = <IElement[]>evt.data
|
||||
// TODO:
|
||||
postMessage(elementList.length)
|
||||
}
|
||||
Loading…
Reference in new issue