Constructeur WebAssembly.Module()
Baseline
Widely available
*
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.
* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.
Le constructeur WebAssembly.Module() crée un nouvel objet Module contenant du code WebAssembly sans état qui a déjà été compilé par le navigateur et qui peut efficacement être partagé avec des workers et être instancié plusieurs fois.
Le constructeur WebAssembly.Module() peut être appelé de façon synchrone afin de compiler le code binaire WebAssembly correspondant. Toutefois, la méthode principale pour obtenir un Module consiste à utiliser une fonction de compilation asynchrone comme WebAssembly.compile().
Syntaxe
Attention :
Étant donné que la compilation de grands modules peut être coûteuse, il est préférable d'utiliser Module() uniquement lorsqu'une compilation synchrone est nécessaire. Dans tous les autres cas, on privilégiera la méthode WebAssembly.compileStreaming().
new WebAssembly.Module(bufferSource);
Parameters
- bufferSource
-
Un tableau typé ou un
ArrayBuffercontenant le code binaire du module .wasm qu'on souhaite compiler.
Exemples
>Compiler un module WebAssembly de façon synchrone
var importObject = {
imports: {
imported_func: function (arg) {
console.log(arg);
},
},
};
function createWasmModule(bytes) {
return new WebAssembly.Module(bytes);
}
fetch("http://developer.mozilla.org/simple.wasm")
.then((response) => response.arrayBuffer())
.then((bytes) => {
let mod = createWasmModule(bytes);
WebAssembly.instantiate(mod, importObject).then((result) =>
result.exports.exported_func(),
);
});
Spécifications
| Specification |
|---|
| WebAssembly JavaScript Interface> # dom-module-module> |
Compatibilité des navigateurs
Chargement…