[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/de/docs/WebAssembly/Reference/JavaScript_interface/Instance/Instance [Back]  [Original]

WebAssembly.Instance() Konstruktor - 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.Instance() Konstruktor

Baseline Weitgehend verfgbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Oktober 2017 browserbergreifend verfgbar.

Der WebAssembly.Instance() Konstruktor erstellt ein neues Instance-Objekt, das eine zustandsbehaftete, ausfhrbare Instanz eines WebAssembly.Module ist.

Warnung: Da die Instanziierung groer Module kostspielig sein kann, sollten Entwickler den Instance()-Konstruktor nur dann verwenden, wenn eine synchrone Instanziierung unbedingt erforderlich ist; die asynchrone Methode WebAssembly.instantiateStreaming() sollte in allen anderen Fllen verwendet werden.

In diesem Artikel

Syntax

js
new WebAssembly.Instance(module, importObject)

Parameter

module

Das WebAssembly.Module Objekt, das instanziiert werden soll.

importObject Optional

Ein Objekt, das die Werte enthlt, die in die neu erstellte Instance importiert werden sollen, wie Funktionen oder WebAssembly.Memory Objekte. Fr jeden deklarierten Import des module muss eine passende Eigenschaft vorhanden sein, andernfalls wird ein WebAssembly.LinkError ausgelst.

Ausnahmen

Beispiele

Synchrone Instanziierung eines WebAssembly-Moduls

Die WebAssembly.Instance() Konstruktorfunktion kann aufgerufen werden, um ein gegebenes WebAssembly.Module Objekt synchron zu instanziieren, zum Beispiel:

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

fetch("simple.wasm")
  .then((response) => response.arrayBuffer())
  .then((bytes) => {
    const mod = new WebAssembly.Module(bytes);
    const instance = new WebAssembly.Instance(mod, importObject);
    instance.exports.exported_func();
  });

Der bevorzugte Weg, um eine Instance zu erhalten, ist jedoch die asynchrone Funktion WebAssembly.instantiateStreaming(), zum Beispiel so:

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

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

Spezifikationen

Spezifikation
WebAssembly JavaScript Interface
# dom-instance-instance

Browser-Kompatibilitt

Siehe auch


Web Proxy Viewer  |  New URL  |  Original Page