Baseline Widely available *
Ein WebAssembly.Module
-Objekt enthält zustandslosen WebAssembly-Code, der bereits vom Browser kompiliert wurde â dieser kann effizient mit Arbeitern geteilt werden und mehrfach instanziiert werden.
Hinweis: Das WebAssembly.Module
-Objekt ist nicht mit dem Module
-Objekt von Emscripten verwandt.
WebAssembly.Module()
Erstellt ein neues Module
-Objekt.
WebAssembly.Module.customSections()
Gibt bei einem Module
und einem String eine Kopie des Inhalts aller benutzerdefinierten Sektionen im Modul mit dem angegebenen String-Namen zurück.
WebAssembly.Module.exports()
Gibt bei einem Module
ein Array zurück, das Beschreibungen aller deklarierten Exporte enthält.
WebAssembly.Module.imports()
Gibt bei einem Module
ein Array zurück, das Beschreibungen aller deklarierten Importe enthält.
Das folgende Beispiel kompiliert den geladenen simple.wasm
-Bytecode mit der Methode WebAssembly.compileStreaming()
und sendet die resultierende Module
-Instanz an einen Worker mithilfe von postMessage()
.
Siehe den index-compile.html
Quellcode oder sehen Sie sich das live an.
const worker = new Worker("wasm_worker.js");
WebAssembly.compileStreaming(fetch("simple.wasm")).then((mod) =>
worker.postMessage(mod),
);
Die Worker-Funktion wasm_worker.js
definiert ein Importobjekt für das Modul zur Verwendung. Die Funktion richtet dann einen Ereignishandler ein, um das Modul vom Hauptthread zu empfangen. Wenn das Modul empfangen wird, erstellen wir eine Instanz daraus mit der Methode WebAssembly.instantiate()
und rufen eine exportierte Funktion von innen auf.
const importObject = {
my_namespace: {
imported_func(arg) {
console.log(arg);
},
},
};
onmessage = (e) => {
console.log("module received from main thread");
const mod = e.data;
WebAssembly.instantiate(mod, importObject).then((instance) => {
instance.exports.exported_func();
});
};
Spezifikationen Browser-Kompatibilität Siehe auch MDN-Feedback-Box War diese Ãbersetzung hilfreich?
Diese Seite wurde automatisch aus dem Englischen übersetzt.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4