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
WebAssembly.promising(function)
Parameter
function-
Eine Referenz zu einer exportierten Wasm-Funktion, die typischerweise auf dem
exportsObjekt verfügbar ist, das im erfüllten Wert einer Methode wieWebAssembly.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
functionist nicht aufrufbar.
Beispiele
>Grundlegende Verwendung
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
WebAssembly.SuspendingWebAssembly.Suspending()Konstruktor- WebAssembly Überblick