From 7e3e47b4babf31fe9e9d8d9c372c8288c27e2305 Mon Sep 17 00:00:00 2001 From: Jim Richter Date: Tue, 16 Mar 2021 16:25:50 +0100 Subject: [PATCH] fix: lazy load ai worker --- view/src/helpers/AI.ts | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/view/src/helpers/AI.ts b/view/src/helpers/AI.ts index 5d93997..efc53e5 100644 --- a/view/src/helpers/AI.ts +++ b/view/src/helpers/AI.ts @@ -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;