The following example (see memory.html on GitHub, and view it live also) fetches and instantiates the loaded memory.wasm bytecode using the WebAssembly.instantiateStreaming()
function, while importing the memory created in the line above. It then stores some values in that memory, exports a function, and uses the exported function to sum those values.
const memory = new WebAssembly.Memory({
initial: 10,
maximum: 100
});
WebAssembly.instantiateStreaming(fetch("memory.wasm"), { js: { mem: memory } })
.then((obj) => {
const summands = new Uint32Array(memory.buffer);
for (let i = 0; i < 10; i++) {
summands[i] = i;
}
const sum = obj.instance.exports.accumulate(0, 10);
console.log(sum);
});