WebAssembly.compile()

Die WebAssembly.compile() Funktion kompiliert ein WebAssembly.Module aus WebAssembly Binärcode. Hilfreich ist diese Funktion, um ein Modul zu kompilieren, bevor es instanziiert werden kann (Andernfalls sollte die WebAssembly.instantiate() Funktion verwendet werden).

Syntax

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

Parameter

bufferSource
Ein typisiertes Array oder ArrayBuffer, das den Binärcode des zu kompilierenden .wasm Moduls enthält.

Rückgabewert

Ein Promise, das sich in ein WebAssembly.Module kompiliertes Objekt auflöst.

Fehlerbehandlung

Beispiele

Das folgende Beispiel kompiliert den geladenen simple.wasm Bytecode unter Verwendung der  compile() Funktion und sendet ihn an einen Web Worker mittels 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)
);

Hinweis: Du wirst wahrscheinlich in den meisten Fällen WebAssembly.compileStreaming() verwenden wollen, da es effizienter als compile() arbeitet.

Spezifikationen

Spezifikation Status Kommentar
WebAssembly JavaScript Interface
Die Definition von 'compile()' in dieser Spezifikation.
Arbeitsentwurf Initial draft definition.

Browserkompatibilität

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid WebviewChrome für AndroidFirefox für AndroidOpera für AndroidSafari auf iOSSamsung InternetNode.js
compileChrome Vollständige Unterstützung 57Edge Vollständige Unterstützung 16Firefox Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
IE Keine Unterstützung NeinOpera Vollständige Unterstützung 44Safari Vollständige Unterstützung 11WebView Android Vollständige Unterstützung 57Chrome Android Vollständige Unterstützung 57Firefox Android Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
Opera Android Vollständige Unterstützung 43Safari iOS Vollständige Unterstützung 11Samsung Internet Android Vollständige Unterstützung 7.0nodejs Vollständige Unterstützung 8.0.0

Legende

Vollständige Unterstützung  
Vollständige Unterstützung
Keine Unterstützung  
Keine Unterstützung
Siehe Implementierungshinweise.
Siehe Implementierungshinweise.

Siehe auch