fix: lazy load ai worker

This commit is contained in:
max_richter 2021-03-16 16:25:50 +01:00
parent 7090117d8f
commit 7e3e47b4ba

View File

@ -1,20 +1,26 @@
import { bufToImageUrl, imageToArray } from ".";
const worker = new Worker("build/workers/ai-worker.js");
let worker;
let i = 0;
let cb = {};
worker.addEventListener("message", ev => {
if (ev.data.i in cb) {
cb[ev.data.i](ev.data.result);
delete cb[ev.data.i]
delete ev.data.i;
}
})
const analyze = (img: Image) => new Promise(async (res, rej) => {
if (!worker) {
worker = new Worker("build/workers/ai-worker.js");
worker.addEventListener("message", ev => {
if (ev.data.i in cb) {
cb[ev.data.i](ev.data.result);
delete cb[ev.data.i]
delete ev.data.i;
}
})
}
i++;
const _i = i;