diff --git a/public/jsQrWorker.js b/public/jsQrWorker.js index 24b6701..5bf759e 100644 --- a/public/jsQrWorker.js +++ b/public/jsQrWorker.js @@ -16,9 +16,20 @@ self.addEventListener('message', event => { const t1 = new Date().getTime(); if (code != null) { console.log(`Scanned in ${t1-t0} ms`); + // Send data back to main JS thread if QR code was found postMessage({ data: code.data, ms: t1-t0 }); } -}); \ No newline at end of file + else { + if (event.data.alwaysRespond) { + // If alwaysRespond is true, send back empty result when scanning finished + postMessage({ + data: undefined, + type: undefined, + ms: t1-t0 + }); + } + } +}); diff --git a/public/wasmWorker.js b/public/wasmWorker.js index f7d0116..27af639 100644 --- a/public/wasmWorker.js +++ b/public/wasmWorker.js @@ -20,11 +20,22 @@ importScripts("wasm/koder.js"); const scanResult = koder.decode(data, this.width, this.height); const t1 = new Date().getTime(); if (scanResult) { + // Send data back to main JS thread if QR code was found postMessage({ data: scanResult.code, type: scanResult.type, ms: t1-t0 }); } + else { + if (event.data.alwaysRespond) { + // If alwaysRespond is true, send back empty result when scanning finished + postMessage({ + data: undefined, + type: undefined, + ms: t1-t0 + }); + } + } }); -})(); \ No newline at end of file +})();