Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

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

WebAssembly.Module()

BaselineWidely available *

Un objetWebAssembly.Module contient du code WebAssembly, sans état et qui a déjà été compilé par le navigateur. Ce code peut êtrepartagé avec desweb workers et être instancié à plusieurs reprises.

Constructeur

WebAssembly.Module()

Crée un nouvel objetModule.

Propriétés statiques

WebAssembly.Module.customSections()

Soit un objetModule et une chaîne de caractères, cette méthode renvoie le contenu de l'ensemble des sections spécifiques du module avec le nom correspondant à la chaîne de caractères.

WebAssembly.Module.exports()

Soit un objetModule, cette méthode renvoie un tableau dont les éléments sont les descriptions de tous les exports déclarés.

WebAssembly.Module.imports()

Soit un objetModule, cette méthode renvoie un tableau dont les éléments sont les descriptions de tous les imports déclarés.

Exemples

Envoyer un module compilé à unworker

Dans l'exemple qui suit (voir le fichier sourceindex-compile.html sur GitHub, etla démonstration correspondante), on compile le byte code chargésimple.wasm en utilisant la méthodeWebAssembly.compileStreaming() puis en envoyant l'instance deModule résultante à unworker en utilisantpostMessage().

js
let worker = new Worker("wasm_worker.js");WebAssembly.compileStreaming(fetch("simple.wasm")).then((mod) =>  worker.postMessage(mod),);

Au sein duworker (voir le fichierwasm_worker.js), on définit un objet d'import pour le module à utiliser puis on définit un gestionnaire d'évènement destiné à recevoir le module depuis le fil d'exécution principal. Lorsque le module est reçu, on en crée une instance avec la méthodeWebAssembly.instantiate() puis on appelle une fonction exportée depuis l'instance.

js
let importObject = {  imports: {    imported_func: function (arg) {      console.log(arg);    },  },};onmessage = function (e) {  console.log("module reçu depuis le thread principal");  let mod = e.data;  WebAssembly.instantiate(mod, importObject).then(function (instance) {    instance.exports.exported_func();  });};

Spécifications

Specification
WebAssembly JavaScript Interface
# modules

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp