WebAssembly.compile()
The WebAssembly.compile()
function compiles WebAssembly
binary code into a WebAssembly.Module
object. This function is useful if
it is necessary to a compile a module before it can be instantiated (otherwise, the
WebAssembly.instantiate()
function should be used).
Syntax
WebAssembly.compile(bufferSource)
Parameters
- bufferSource
-
A typed array or ArrayBuffer containing the binary code of the .wasm module you want to compile.
Return value
A Promise
that resolves to a WebAssembly.Module
object
representing the compiled module.
Exceptions
-
If
bufferSource
is not a typed array, aTypeError
is thrown. -
If compilation fails, the promise rejects with a
WebAssembly.CompileError
.
Examples
Using compile
The following example compiles the loaded simple.wasm byte code using the
compile()
function and then sends it to a worker using 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: You'll probably want to use
WebAssembly.compileStreaming()
in most cases, as it is more efficient
than compile()
.
Specifications
Specification |
---|
WebAssembly JavaScript Interface # dom-webassembly-compile |
Browser compatibility
BCD tables only load in the browser