WebAssembly.compile()
Die WebAssembly.compile()
Funktion kompiliert ein WebAssembly.Module
(en-US) aus WebAssembly Binärcode. Hilfreich ist diese Funktion, um ein Modul zu kompilieren, bevor es instanziiert werden kann (Andernfalls sollte die WebAssembly.instantiate()
(en-US) 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
(en-US) 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
(en-US) 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
Siehe auch
- WebAssembly Übersichtsseite
- WebAssembly concepts
- Using the WebAssembly JavaScript API