Constructeur WebAssembly.Module()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.
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
ArrayBuffer
contenant 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("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
BCD tables only load in the browser