Content-Length: 241397 | pFad | http://developer.mozilla.org/de/docs/WebAssembly/Reference/JavaScript_interface

WebAssembly - WebAssembly | MDN

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

WebAssembly

Baseline Weitgehend verfügbar *

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Oktober 2017 browserübergreifend verfügbar.

* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.

Das WebAssembly JavaScript-Objekt dient als Namensraum für alle WebAssembly-bezogenen Funktionen.

Anders als die meisten anderen globalen Objekte ist WebAssembly kein Konstruktor (es ist kein Funktionsobjekt). Sie können es mit Math vergleichen, das ebenfalls ein Namensraumobjekt für mathematische Konstanten und Funktionen ist, oder mit Intl, das das Namensraumobjekt für Internationalisierungs-Konstruktoren und andere sprachempfindliche Funktionen ist.

Beschreibung

Die Hauptanwendungen des WebAssembly-Objekts sind:

Schnittstellen

WebAssembly.CompileError

Gibt einen Fehler während des Decodings oder der Validierung von WebAssembly an.

WebAssembly.Global

Stellt eine Instanz einer globalen Variablen dar, die sowohl von JavaScript aus zugänglich als auch importierbar/exportierbar über ein oder mehrere WebAssembly.Module-Instanzen ist. Dies ermöglicht dynamisches Verknüpfen mehrerer Module.

WebAssembly.Instance

Ist eine zustandsbehaftete, ausführbare Instanz eines WebAssembly.Module.

WebAssembly.LinkError

Gibt einen Fehler während der Modulinstanziierung an (außer Traps aus der Startfunktion).

WebAssembly.Memory

Ein Objekt, dessen buffer-Eigenschaft ein skalierbarer ArrayBuffer ist, der die Rohdaten des Speichers enthält, auf den eine WebAssembly-Instance zugreift.

WebAssembly.Module

Enthält zustandslosen WebAssembly-Code, der vom Browser bereits kompiliert wurde und effizient mit Workers geteilt und mehrfach instanziiert werden kann.

WebAssembly.RuntimeError

Fehlerart, die immer dann ausgelöst wird, wenn WebAssembly eine Trap angibt.

WebAssembly.Table

Eine arrayähnliche Struktur, die eine WebAssembly-Tabelle darstellt, die Referenzen speichert, wie z.B. Funktionsreferenzen.

WebAssembly.Tag

Ein Objekt, das einen Typ einer WebAssembly-Ausnahme darstellt.

WebAssembly.Exception

Ein WebAssembly-Ausnahmeobjekt, das sowohl innerhalb als auch über WebAssembly/JavaScript-Grenzen hinweg geworfen, gefangen und erneut geworfen werden kann.

Statische Eigenschaften

WebAssembly.JSTag

Ein eingebauter WebAssembly.Tag, der Ausnahmen darstellt, die im JavaScript-Host ausgelöst werden — er ermöglicht die Behandlung von Ausnahmen, die in JavaScript ausgelöst werden, von innerhalb eines Wasm-Moduls aus.

Statische Methoden

WebAssembly.compile()

Kompiliert ein WebAssembly.Module aus WebAssembly-Binärcode, wobei die Instanziierung als separater Schritt verbleibt.

WebAssembly.compileStreaming()

Kompiliert ein WebAssembly.Module direkt aus einer gestreamten zugrunde liegenden Quelle, wobei die Instanziierung als separater Schritt verbleibt.

WebAssembly.instantiate()

Die primäre API zum Kompilieren und Instanziieren von WebAssembly-Code, die sowohl ein Module als auch seine erste Instance zurückgibt.

WebAssembly.instantiateStreaming()

Kompiliert und instanziiert ein WebAssembly-Modul direkt aus einer gestreamten zugrunde liegenden Quelle, wobei sowohl ein Module als auch seine erste Instance zurückgegeben werden.

WebAssembly.validate()

Validiert ein gegebenes typisiertes Array von WebAssembly-Binärcode und gibt zurück, ob die Bytes gültiger WebAssembly-Code (true) sind oder nicht (false).

Beispiele

Streamen Sie ein Wasm-Modul, dann kompilieren und instanziieren Sie es

Das folgende Beispiel (siehe unser instantiate-streaming.html-Demo auf GitHub und sehen Sie es live an) streamt direkt ein Wasm-Modul aus einer zugrunde liegenden Quelle, dann kompiliert und instanziiert es, wobei das Versprechen mit einem ResultObject erfüllt wird. Da die Funktion instantiateStreaming() ein Versprechen für ein Response-Objekt akzeptiert, können Sie direkt einen fetch()-Aufruf übergeben, und es wird die Antwort in die Funktion übergeben, wenn es erfüllt wird.

js
const importObject = {
  my_namespace: { imported_func: (arg) => console.log(arg) },
};

WebAssembly.instantiateStreaming(fetch("simple.wasm"), importObject).then(
  (obj) => obj.instance.exports.exported_func(),
);

Die .instance-Eigenschaft des ResultObject wird dann aufgerufen, und die enthaltene exportierte Funktion wird ausgeführt.

Spezifikationen

Spezifikation
WebAssembly JavaScript Interface
# webassembly-namespace

Browser-Kompatibilität

Siehe auch









ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://developer.mozilla.org/de/docs/WebAssembly/Reference/JavaScript_interface

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy