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
- Wenn
bufferSource
kein typisiertes Array ist, wird einTypeError
geworfen. - Wenn die Kompilierung fehlschlägt, wird das Promise mit einem
WebAssembly.CompileError
verworfen.
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
BCD tables only load in the browser
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Siehe auch
- WebAssembly Übersichtsseite
- WebAssembly concepts
- Using the WebAssembly JavaScript API