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

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid WebviewChrome für AndroidEdge MobileFirefox für AndroidOpera für AndroidSafari auf iOSSamsung InternetNode.js
compileStreamingChrome Vollständige Unterstützung 61Edge Vollständige Unterstützung 16Firefox Vollständige Unterstützung 58IE Keine Unterstützung NeinOpera Vollständige Unterstützung 47Safari Keine Unterstützung NeinWebView Android Vollständige Unterstützung 61Chrome Android Vollständige Unterstützung 61Edge Mobile Keine Unterstützung NeinFirefox Android Vollständige Unterstützung 58Opera Android ? Safari iOS Keine Unterstützung NeinSamsung Internet Android Keine Unterstützung Neinnodejs Keine Unterstützung Nein

Legende

Vollständige Unterstützung  
Vollständige Unterstützung
Keine Unterstützung  
Keine Unterstützung
Kompatibilität unbekannt  
Kompatibilität unbekannt

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

Mitwirkende an dieser Seite: mdnwebdocs-bot, vssn
Zuletzt aktualisiert von: mdnwebdocs-bot,