WebAssembly.compile()
La méthode WebAssembly.compile()
, permet de compiler un module (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 WebAssembly.instantiate()
sera plus pertinente).
Syntaxe
Promise<WebAssembly.Module> WebAssembly.compile(bufferSource);
Paramètres
bufferSource
-
Un tableau typé ou un
ArrayBuffer
contenant le bytecode du module WebAssembly qu'on souhaite compiler.
Valeur de retour
Une promesse (Promise
) dont la valeur de résolution est une instance de WebAssembly.Module
qui représente le module compilé.
Exceptions
- Si
bufferSource
n'est pas un tableau typé, une exceptionTypeError
sera levée. - Si la compilation échoue, la promesse sera rompue avec une exception
WebAssembly.CompileError
.
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 WebAssembly.compileStreaming()
qui est plus efficace que compile()
.
Spécifications
Specification |
---|
WebAssembly JavaScript Interface # dom-webassembly-compile |
Compatibilité des navigateurs
BCD tables only load in the browser