WebAssembly.Instance.prototype.exports

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.

Die exports-Eigenschaft des schreibgeschützten Prototyps des WebAssembly.Instance-Objekts gibt ein Objekt zurück, das alle Funktionen enthält, die aus der WebAssembly-Modulinstanz exportiert wurden, um deren Zugriff und Nutzung durch JavaScript zu ermöglichen.

Beispiele

Verwendung von exports

Nach dem Abrufen einiger WebAssembly-Bytecode mittels fetch kompiliert und instanziiert man das Modul mithilfe der Funktion WebAssembly.instantiateStreaming(), wobei eine JavaScript-Funktion in das WebAssembly-Modul importiert wird. Anschließend wird eine exportierte WebAssembly-Funktion aufgerufen, die von der Instance exportiert 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(),
);

Hinweis: Sie können dieses Beispiel auch als instantiate-streaming.html auf GitHub finden (sehen Sie es sich auch live an).

Spezifikationen

Specification
WebAssembly JavaScript Interface
# dom-instance-exports

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch