WebAssembly.compile()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.

Die WebAssembly.compile() statische Methode kompiliert WebAssembly-Binärcode in ein WebAssembly.Module-Objekt. Diese Funktion ist nützlich, wenn es notwendig ist, ein Modul zu kompilieren, bevor es instanziiert werden kann (ansonsten sollte die WebAssembly.instantiate()-Funktion verwendet werden).

Hinweis: Webseiten, die eine strikte Content Security Policy (CSP) haben, könnten die Kompilierung und Ausführung von WebAssembly-Modulen blockieren. Für weitere Informationen zum Erlauben der Kompilierung und Ausführung von WebAssembly, siehe die script-src CSP.

Syntax

js
WebAssembly.compile(bufferSource)

Parameter

bufferSource

Ein typed array oder ArrayBuffer, das den Binärcode des zu kompilierenden Wasm-Moduls enthält.

Rückgabewert

Ein Promise, das zu einem WebAssembly.Module-Objekt aufgelöst wird, das das kompilierte Modul darstellt.

Ausnahmen

Beispiele

Verwendung von compile

Das folgende Beispiel kompiliert den geladenen simple.wasm-Bytecode mit der compile()-Funktion und sendet ihn dann mit postMessage() an einen worker.

js
const worker = new Worker("wasm_worker.js");

fetch("simple.wasm")
  .then((response) => response.arrayBuffer())
  .then((bytes) => WebAssembly.compile(bytes))
  .then((mod) => worker.postMessage(mod));

Hinweis: In den meisten Fällen möchten Sie wahrscheinlich WebAssembly.compileStreaming() verwenden, da es effizienter als compile() ist.

Spezifikationen

Specification
WebAssembly JavaScript Interface
# dom-webassembly-compile

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch