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.promising()

Die WebAssembly.promising() statische Methode wird verwendet, um eine exportierte Wasm-Funktion, die auf einer asynchronen Operation basiert (das heißt, eine importierte aussetzende Funktion, die über den WebAssembly.Suspending() Konstruktor erstellt wurde), in ein Promise zu verwandeln.

Siehe WebAssembly.Suspending für eine Erklärung, wie diese Funktionalität funktioniert.

Syntax

js
WebAssembly.promising(function)

Parameter

function

Eine Referenz zu einer exportierten Wasm-Funktion, die typischerweise auf dem exports Objekt verfügbar ist, das im erfüllten Wert einer Methode wie WebAssembly.instantiateStreaming() verfügbar ist.

Rückgabewert

Eine Funktion, die die ursprüngliche, in den promising()-Aufruf übergebene Funktion umhüllt und selbst aufgerufen werden kann. Die Wrapper-Funktion nimmt die gleichen Argumente wie die umhüllte Funktion und gibt ein Versprechen zurück, das mit den Ergebnissen der umhüllten Funktion erfüllt wird.

Ausnahmen

TypeError

Die referenzierte function ist nicht aufrufbar.

Beispiele

Grundlegende Verwendung

js
WebAssembly.instantiateStreaming(fetch("module.wasm"), { importObj }).then(
  (result) => {
    const fromWasm = WebAssembly.promising(
      result.instance.exports.exportedFunc,
    );
    fromWasm().then((result) => {
      // ...
    });
  },
);

Siehe WebAssembly.Suspending für ein vollständiges Arbeitsbeispiel.

Spezifikationen

Spezifikation
WebAssembly JavaScript Interface: Promise Integration
# dom-webassembly-promising

Browser-Kompatibilität

Siehe auch