WebAssembly.Memory.prototype.buffer
WebAssembly.Memory 对象的只读 buffer 原型属性返回内存中包含的缓冲区。根据内存是使用 shared: true 构建的还是未使用的,该缓冲区要么是 ArrayBuffer,要么是 SharedArrayBuffer。
示例
使用 buffer
以下示例(请参阅 GitHub 上的 memory.html,以及 在线查看)使用 WebAssembly.instantiateStreaming() 函数获取并实例化加载的 memory.wasm 字节码,同时导入上面一行中创建的内存。然后,它将一些值存储在该内存中,导出一个函数,并使用导出的函数对这些值进行求和。
js
const memory = new WebAssembly.Memory({
initial: 10,
maximum: 100,
});
WebAssembly.instantiateStreaming(fetch("memory.wasm"), {
js: { mem: memory },
}).then((obj) => {
const summands = new DataView(memory.buffer);
for (let i = 0; i < 10; i++) {
summands.setUint32(i * 4, i, true); // WebAssembly is little endian
}
const sum = obj.instance.exports.accumulate(0, 10);
console.log(sum);
});
规范
| 规范 |
|---|
| WebAssembly JavaScript 接口 # dom-memory-buffer |
浏览器兼容性
加载中…