The WebAssembly.compile()
function compiles a WebAssembly.Module
from WebAssembly binary code. 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).
Promise<WebAssembly.Module> WebAssembly.compile(bufferSource);
A Promise
that resolves to a WebAssembly.Module
object representing the compiled module.
bufferSource
is not a typed array, a TypeError
is thrown.WebAssembly.CompileError
.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()
.
Specification | Status | Comment |
---|---|---|
WebAssembly JavaScript Interface The definition of 'compile()' in that specification. | Working Draft | Initial draft definition. |
Desktop | ||||||
---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
Basic support | 57 | 16 | 52
|
No | 44 | 11 |
Mobile | |||||||
---|---|---|---|---|---|---|---|
Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
Basic support | 57 | 57 | Yes
|
52
|
44 | 11 | 7.0 |
Server | |
---|---|
Node.js | |
Basic support | 8.0.0 |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/compile