From e4b3cce51758cb6269fc550ccc9a75cd999044a0 Mon Sep 17 00:00:00 2001 From: Jim Richter Date: Tue, 16 Mar 2021 16:27:41 +0100 Subject: [PATCH] fix: lazy load pixel worker --- view/src/helpers/_pixelWorker.ts | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/view/src/helpers/_pixelWorker.ts b/view/src/helpers/_pixelWorker.ts index 17f4b7d..0d4664d 100644 --- a/view/src/helpers/_pixelWorker.ts +++ b/view/src/helpers/_pixelWorker.ts @@ -1,16 +1,18 @@ -const worker = new Worker("build/workers/pixel-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); - } -}) - export default (msg: any): Promise => new Promise((res, rej) => { + + if (!worker) { + worker = new Worker("build/workers/pixel-worker.js"); + worker.addEventListener("message", ev => { + if (ev.data.i in cb) { + cb[ev.data.i](ev.data.result); + } + }) + } + i++; const _i = i; worker.postMessage({ i: _i, ...msg });