chiark / gitweb /
Change instantiateFile to use await rather than .then chain
authorWink Saville <wink@saville.com>
Mon, 3 Apr 2017 15:05:43 +0000 (08:05 -0700)
committerWink Saville <wink@saville.com>
Mon, 3 Apr 2017 15:05:43 +0000 (08:05 -0700)
test/wasm.js
test/wasm.ts

index 1de644252aa2c19c5865a9ae97ababf226febfb6..a6d3802141a463bfd17f08f4644f533bc9433020 100644 (file)
@@ -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;
     });
index 194e3a8bc08e6abd78e0f13a2fc15b530de02011..636b6ff80f498686e043eae20cde0416aa9b7732 100644 (file)
@@ -110,28 +110,32 @@ WebAssembly.instantiate(wasmModule).then((instance: WebAssembly.Instance) => {
 });
 
 async function instantiateFile(filePath: string): Promise<WebAssembly.Instance> {
-  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;
 }