--- title: WebAssembly.compile() slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/compile tags: - API - JavaScript - Méthode - Reference - WebAssembly translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/compile original_slug: Web/JavaScript/Reference/Objets_globaux/WebAssembly/compile ---
La méthode WebAssembly.compile()
, permet de compiler un module ({{jsxref("WebAssembly.Module")}} à partir d'un code binaire WebAssembly. Cette fonction est utile lorsqu'il est nécessaire de compiler un module avant de l'instancier (dans les autres cas, la méthode {{jsxref("WebAssembly.instantiate()")}} sera plus pertinente).
Promise<WebAssembly.Module> WebAssembly.compile(bufferSource);
bufferSource
Une promesse ({{jsxref("Promise")}}) dont la valeur de résolution est une instance de {{jsxref("WebAssembly.Module")}} qui représente le module compilé.
bufferSource
n'est pas un tableau typé, une exception {{jsxref("TypeError")}} sera levée.Dans l'exemple qui suit, on compile le bytecode simple.wasm
grâce à la méthode compile()
puis on envoie le contenu à un worker grâce à la méthode postMessage()
.
var worker = new Worker("wasm_worker.js"); fetch('simple.wasm').then(response => response.arrayBuffer() ).then(bytes => WebAssembly.compile(bytes) ).then(mod => worker.postMessage(mod) );
Note : Dans la plupart des cas, mieux vaudra utiliser {{jsxref("WebAssembly.compileStreaming()")}} qui est plus efficace que compile()
.
Spécification | État | Commentaires |
---|---|---|
{{SpecName('WebAssembly JS', '#webassemblycompile', 'compile()')}} | {{Spec2('WebAssembly JS')}} | Brouillon de définition initiale pour WebAssembly. |
{{Compat("javascript.builtins.WebAssembly.compile")}}