Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
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 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().
Dans cet article
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
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("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> |