const Events = { DecodeMessage: 0, UpdateStats: 1, WASMReady: 2, CacheFrame: 3, RecordVideo: 4, OnlyEmitSignal: 5, WASMReadyCost: 6, PanoramaMessage: 7, RequestIFrame: 8, ConsoleLog: 9, ConsoleError: 10, }; const printConsole = { log: (msg) => self.postMessage({ event: Events.ConsoleLog, printMsg: msg }), error: (msg, code) => self.postMessage({ event: Events.ConsoleError, printMsg: msg, code: code }), }; class Decoder { constructor() {} loadWASM(url) { printConsole.log("Load WASM from " + String(url)); try { self.importScripts(url); } catch (e) { printConsole.error(e.message, "5003"); } } } if ("function" === typeof importScripts) { printConsole.log("22222"); } self.decoder = new Decoder(); self.onmessage = (event) => { switch (event.data.event) { case 0: self.postMessage({}); break; case 9: self.decoder.loadWASM(event.data.url); printConsole.log("22222"); default: break; } };