GeezerVison is showing developer.mozilla.org — WebAssembly.Instance - WebAssembly | MDN
WebAssembly.Instance
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Oktober 2017 browserübergreifend verfügbar.
exports
-
Gibt ein Objekt zurück, das alle aus der WebAssembly-Modulinstanz exportierten Funktionen als seine Mitglieder enthält, sodass sie von JavaScript aus zugänglich und nutzbar sind. Nur lesbar.
Die WebAssembly.Instance() Konstruktorfunktion kann aufgerufen werden, um synchron ein gegebenes WebAssembly.Module Objekt 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 asynchron, zum Beispiel durch die Verwendung der WebAssembly.instantiateStreaming() Funktion wie folgt:
js
const importObject = {
my_namespace: {
imported_func(arg) {
console.log(arg);
},
},
};
WebAssembly.instantiateStreaming(fetch("simple.wasm"), importObject).then(
(obj) => obj.instance.exports.exported_func(),
);
Dies zeigt auch, wie die exports-Eigenschaft verwendet wird, um auf exportierte Funktionen zuzugreifen.