multi.js (601B)
1 // Multiple promises at the same time. 2 3 function js_import() { 4 return Promise.resolve(42); 5 } 6 var wasm_js_import = new WebAssembly.Suspending(js_import); 7 8 var ins = wasmEvalText(`(module 9 (import "m" "import" (func $f (result i32))) 10 (func (export "test") (result i32) 11 call $f 12 ) 13 )`, {"m": {import: wasm_js_import}}); 14 15 let wrapped_export = WebAssembly.promising(ins.exports.test); 16 17 Promise.resolve().then(() => { 18 wrapped_export().then(i => { 19 assertEq(42, i) 20 }); 21 }); 22 23 Promise.resolve().then(() => { 24 wrapped_export().then(i => { 25 assertEq(42, i) 26 }); 27 });