Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

WebAssembly.Memory.prototype.buffer

Baseline Large disponibilité

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis octobre 2017.

La propriété en lecture seule buffer de l'objet WebAssembly.Memory retourne le tampon contenu dans la mémoire. Selon que la mémoire a été construite avec shared: true ou non, le tampon est soit un ArrayBuffer, soit un SharedArrayBuffer.

Exemples

Utiliser la propriété buffer

L'exemple suivant (voir memory.html (angl.) sur GitHub, et la voir en direct (angl.)) récupère et instancie le code binaire chargé « memory.wasm » en utilisant la fonction WebAssembly.instantiateStreaming(), tout en important la mémoire créée à la ligne ci-dessus. Il stocke ensuite des valeurs dans cette mémoire, exporte une fonction, et utilise la fonction exportée pour additionner ces valeurs.

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 est petit boutiste
  }
  const sum = obj.instance.exports.accumulate(0, 10);
  console.log(sum);
});

Spécifications

Spécification
WebAssembly JavaScript Interface
# dom-memory-buffer

Compatibilité des navigateurs

Voir aussi