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 schreibgeschützte Eigenschaft exports des Prototyps des WebAssembly.Instance-Objekts gibt ein Objekt zurück, das als seine Mitglieder alle Funktionen enthält, die aus der WebAssembly-Modulinstanz exportiert wurden, um sie von JavaScript aus ansprechen und verwenden zu können.

Beispiele

Verwendung von exports

Nach dem Abrufen einiger WebAssembly-Bytecodes mittels fetch kompilieren und instanziieren wir das Modul mit der Funktion WebAssembly.instantiateStreaming(), wobei wir eine JavaScript-Funktion in das WebAssembly-Modul importieren. Anschließend rufen wir eine Exportierte WebAssembly-Funktion auf, 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