From 37472109588fc8264124d53dd874d810cd2dd6be Mon Sep 17 00:00:00 2001 From: Wink Saville Date: Mon, 3 Apr 2017 08:05:43 -0700 Subject: [PATCH] Change instantiateFile to use await rather than .then chain --- test/wasm.js | 43 ++++++++++++++++++++++--------------------- test/wasm.ts | 48 ++++++++++++++++++++++++++---------------------- 2 files changed, 48 insertions(+), 43 deletions(-) diff --git a/test/wasm.js b/test/wasm.js index 1de64425..a6d38021 100644 --- a/test/wasm.js +++ b/test/wasm.js @@ -106,27 +106,28 @@ WebAssembly.instantiate(wasmModule).then((instance) => { }); function instantiateFile(filePath) { return __awaiter(this, void 0, void 0, function* () { - console.log("instantiateFile:+ readFile"); - let instance = yield readFileAsync("./test/addTwo.wasm") - .then(data => { - console.log("instantiateFile fileRead:"); - console.log(`data.length=${data.length}`); - console.log(`data[0]=${data[0].toString(16)}`); - console.log(`data[1]=${data[1].toString(16)}`); - console.log(`data[2]=${data[2].toString(16)}`); - console.log(`data[3]=${data[3].toString(16)}`); - console.log(`data[4]=${data[4].toString(16)}`); - console.log(`data[5]=${data[5].toString(16)}`); - console.log(`data[6]=${data[6].toString(16)}`); - console.log(`data[7]=${data[7].toString(16)}`); - // Compile - console.log("instantiateFile compile:"); - return Promise.resolve(WebAssembly.compile(data)); - }) - .then(mod => { - console.log("instantiateFile compiled return Module:"); - return Promise.resolve(WebAssembly.instantiate(mod)); - }); + console.log("instantiateFile:+"); + // Read the file + console.log("instantiateFile: readFile:"); + let data = yield readFileAsync(filePath); + console.log("instantiateFile: file read:"); + console.log(`data.length=${data.length}`); + console.log(`data[0]=${data[0].toString(16)}`); + console.log(`data[1]=${data[1].toString(16)}`); + console.log(`data[2]=${data[2].toString(16)}`); + console.log(`data[3]=${data[3].toString(16)}`); + console.log(`data[4]=${data[4].toString(16)}`); + console.log(`data[5]=${data[5].toString(16)}`); + console.log(`data[6]=${data[6].toString(16)}`); + console.log(`data[7]=${data[7].toString(16)}`); + // Compile + console.log("instantiateFile compile:"); + let mod = yield WebAssembly.compile(data); + console.log("instantiateFile compiled:"); + // Instantiate: + console.log("instantiateFile instantiate:"); + let instance = yield WebAssembly.instantiate(mod); + console.log("instantiateFile instantiated:"); console.log("instantiateFile:-"); return instance; }); diff --git a/test/wasm.ts b/test/wasm.ts index 194e3a8b..636b6ff8 100644 --- a/test/wasm.ts +++ b/test/wasm.ts @@ -110,28 +110,32 @@ WebAssembly.instantiate(wasmModule).then((instance: WebAssembly.Instance) => { }); async function instantiateFile(filePath: string): Promise { - console.log("instantiateFile:+ readFile"); - let instance = await readFileAsync("./test/addTwo.wasm") - .then(data => { - console.log("instantiateFile fileRead:"); - console.log(`data.length=${data.length}`); - console.log(`data[0]=${data[0].toString(16)}`); - console.log(`data[1]=${data[1].toString(16)}`); - console.log(`data[2]=${data[2].toString(16)}`); - console.log(`data[3]=${data[3].toString(16)}`); - console.log(`data[4]=${data[4].toString(16)}`); - console.log(`data[5]=${data[5].toString(16)}`); - console.log(`data[6]=${data[6].toString(16)}`); - console.log(`data[7]=${data[7].toString(16)}`); - - // Compile - console.log("instantiateFile compile:"); - return Promise.resolve(WebAssembly.compile(data)); - }) - .then(mod => { - console.log("instantiateFile compiled return Module:"); - return Promise.resolve(WebAssembly.instantiate(mod)); - }); + console.log("instantiateFile:+"); + + // Read the file + console.log("instantiateFile: readFile:"); + let data = await readFileAsync(filePath); + console.log("instantiateFile: file read:"); + console.log(`data.length=${data.length}`); + console.log(`data[0]=${data[0].toString(16)}`); + console.log(`data[1]=${data[1].toString(16)}`); + console.log(`data[2]=${data[2].toString(16)}`); + console.log(`data[3]=${data[3].toString(16)}`); + console.log(`data[4]=${data[4].toString(16)}`); + console.log(`data[5]=${data[5].toString(16)}`); + console.log(`data[6]=${data[6].toString(16)}`); + console.log(`data[7]=${data[7].toString(16)}`); + + // Compile + console.log("instantiateFile compile:"); + let mod = await WebAssembly.compile(data); + console.log("instantiateFile compiled:"); + + // Instantiate: + console.log("instantiateFile instantiate:"); + let instance = await WebAssembly.instantiate(mod); + console.log("instantiateFile instantiated:"); + console.log("instantiateFile:-"); return instance; } -- 2.30.2