--- 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 ---
{{JSRef}}

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).

Syntaxe

Promise<WebAssembly.Module> WebAssembly.compile(bufferSource);

Paramètres

bufferSource
Un tableau typé ou un {{jsxref("ArrayBuffer")}} contenant le bytecode du module WebAssembly qu'on souhaite compiler.

Valeur de retour

Une promesse ({{jsxref("Promise")}}) dont la valeur de résolution est une instance de {{jsxref("WebAssembly.Module")}} qui représente le module compilé.

Exceptions

Exemples

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écifications

Spécification État Commentaires
{{SpecName('WebAssembly JS', '#webassemblycompile', 'compile()')}} {{Spec2('WebAssembly JS')}} Brouillon de définition initiale pour WebAssembly.

Compatibilité des navigateurs

{{Compat("javascript.builtins.WebAssembly.compile")}}

Voir aussi