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