WebAssembly.compileStreaming()

Die WebAssembly.compileStreaming() Funktion kompiliert ein WebAssembly.Module direkt aus einer zugrunde liegenden Quelle. N├╝tzlich ist diese Funktion wenn ein Modul kompiliert werden muss, bevor es instanziiert werden kann. (ansonsten sollte die WebAssembly.instantiateStreaming() Funktion verwendet werden).

Syntax

Promise<WebAssembly.Module> WebAssembly.compileStreaming(source);

Parameter

source
Ein Response Objekt oder ein Promise das sich zu einem solchen aufl├Âst. Es stellt die zugrunde liegende Quelle eines .wasm Moduls dar, die gestreamt und kompiliert werden soll.

R├╝ckgabewert

Ein Promise das sich in ein WebAssembly.Module Objekt aufl├Âst, welche das kompilierte Modul darstellt.

Ausnahmen

Beispiele

Das folgende Beispiel (siehe unsere compile-streaming.html Demo auf GitHub, und siehe das live Beispiel) streamt ein .wasm Modul direkt aus der zugrunde liegenden Quelle und kompiliert es in ein WebAssembly.Module Objekt. Weil die compileStreaming()  Funktion ein Promise f├╝r ein Response Objekt annimmt, kann ihr direkt ein  WindowOrWorkerGlobalScope.fetch() Aufruf durchgereicht werden, woraufhin es die Antwort in diese Funktion abgibt, sobald das Promise sich erf├╝llt.

var importObject = { imports: { imported_func: arg => console.log(arg) } };

WebAssembly.compileStreaming(fetch('simple.wasm'))
.then(module => WebAssembly.instantiate(module, importObject))
.then(instance => instance.exports.exported_func());

Das resultierende Modul wird dann mittels WebAssembly.instantiate() instanziiert und die bereitgestellte Funktion wird aufgerufen.

Spezifikationen

Spezifikationen Status Kommentar
WebAssembly features for web embedding
Die Definition von 'compileStreaming()' in dieser Spezifikation.
Entwurf Initial draft definition.

Browserkompatibilit├Ąt

BCD tables only load in the browser

Siehe auch