Constructeur WebAssembly.Module()
BaselineWidely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.
* Some parts of this feature may have varying levels of support.
Le constructeurWebAssembly.Module()
crée un nouvel objetModule
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 constructeurWebAssembly.Module()
peut être appelé de façon synchrone afin de compiler le code binaire WebAssembly correspondant. Toutefois, la méthode principale pour obtenir unModule
consiste à utiliser une fonction de compilation asynchrone commeWebAssembly.compile()
.
Syntaxe
Attention :Étant donné que la compilation de grands modules peut être coûteuse, il est préférable d'utiliserModule()
uniquement lorsqu'une compilation synchrone est nécessaire. Dans tous les autres cas, on privilégiera la méthodeWebAssembly.compileStreaming()
.
new WebAssembly.Module(bufferSource);
Parameters
- bufferSource
Untableau 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 |