Browse Source

Extract the LoadWASM from the promise

Popov72 5 years ago
parent
commit
5ff4c9b454

+ 5 - 11
ktx2Decoder/src/Transcoders/liteTranscoder.ts

@@ -17,18 +17,12 @@ export class LiteTranscoder extends Transcoder {
             return this._modulePromise;
         }
 
-        this._modulePromise = new Promise((resolve, reject) => {
-            WASMMemoryManager.LoadWASM(this._modulePath)
-                .then((wasmBinary) => {
-                    WebAssembly.instantiate(wasmBinary as ArrayBuffer, { env: { memory: this._memoryManager.wasmMemory } }).then((moduleWrapper) => {
-                        resolve({ module: moduleWrapper.instance.exports });
-                    });
-                }, (reason) => {
-                    reject(reason);
-                })
-                .catch((reason) => {
-                    reject(reason);
+        this._modulePromise = WASMMemoryManager.LoadWASM(this._modulePath).then((wasmBinary) => {
+            return new Promise((resolve) => {
+                WebAssembly.instantiate(wasmBinary as ArrayBuffer, { env: { memory: this._memoryManager.wasmMemory } }).then((moduleWrapper) => {
+                    resolve({ module: moduleWrapper.instance.exports });
                 });
+            });
         });
 
         return this._modulePromise;

+ 8 - 12
ktx2Decoder/src/Transcoders/mscTranscoder.ts

@@ -25,26 +25,22 @@ export class MSCTranscoder extends Transcoder {
     private _mscBasisTranscoderPromise: Promise<any>;
     private _mscBasisModule: any;
 
-    private _getMSCBasisTranscoder() {
+    private _getMSCBasisTranscoder(): Promise<any> {
         if (this._mscBasisTranscoderPromise) {
             return this._mscBasisTranscoderPromise;
         }
 
-        this._mscBasisTranscoderPromise = new Promise((resolve, reject) => {
+        this._mscBasisTranscoderPromise = WASMMemoryManager.LoadWASM(MSCTranscoder.WasmModuleURL).then((wasmBinary) => {
             if (MSCTranscoder.UseFromWorkerThread) {
                 importScripts(MSCTranscoder.JSModuleURL);
             }
-            WASMMemoryManager.LoadWASM(MSCTranscoder.WasmModuleURL)
-                .then((wasmBinary) => {
-                    MSC_TRANSCODER({ wasmBinary }).then((basisModule: any) => {
-                        basisModule.initTranscoders();
-                        this._mscBasisModule = basisModule;
-                        resolve();
-                    });
-                })
-                .catch((reason) => {
-                    reject(reason);
+            return new Promise((resolve) => {
+                MSC_TRANSCODER({ wasmBinary }).then((basisModule: any) => {
+                    basisModule.initTranscoders();
+                    this._mscBasisModule = basisModule;
+                    resolve();
                 });
+            });
         });
 
         return this._mscBasisTranscoderPromise;