| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/WebAssembly/Reference/JavaScript_interface/Module | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Oktober 2017 browserbergreifend verfgbar.
* Einige Teile dieser Funktion werden mglicherweise unterschiedlich gut untersttzt.
Ein WebAssembly.Module-Objekt enthlt zustandslosen WebAssembly-Code, der bereits vom Browser kompiliert wurde dieser kann effizient mit Workern geteilt und mehrfach instanziiert werden.
WebAssembly.Module ist in Umgebungen, die AbstractModuleSource untersttzen, eine Unterklasse der versteckten Klasse AbstractModuleSource.
Hinweis:
Das WebAssembly.Module-Objekt steht in keinem Zusammenhang mit dem Module-Objekt, das in Emscripten verwendet wird.
WebAssembly.Module()Erstellt ein neues Module-Objekt.
WebAssembly.Module.customSections()Gibt bei Angabe eines Module und einer Zeichenkette eine Kopie der Inhalte aller benutzerdefinierten Abschnitte im Modul mit dem angegebenen Zeichenkettennamen zurck.
WebAssembly.Module.exports()Gibt bei Angabe eines Module ein Array zurck, das Beschreibungen aller deklarierten Exporte enthlt.
WebAssembly.Module.imports()Gibt bei Angabe eines Module ein Array zurck, das Beschreibungen aller deklarierten Importe enthlt.
Das folgende Beispiel kompiliert den geladenen Bytecode simple.wasm mit der Methode WebAssembly.compileStreaming() und sendet die resultierende Module-Instanz mithilfe von postMessage() an einen Worker.
Lesen Sie den index-compile.html-Quellcode oder sehen Sie ihn 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, das das Modul verwenden kann. Anschlieend richtet die Funktion einen Event-Handler ein, um das Modul vom Hauptthread zu empfangen. Wenn das Modul empfangen wird, erstellen wir mithilfe der Methode WebAssembly.instantiate() eine Instanz daraus und rufen eine darin exportierte Funktion 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();
});
};
import source abrufenIn Umgebungen, die Quellphasenimporte untersttzen, knnen Sie mit der Anweisung import source oder dem Operator import.source() ein WebAssembly.Module-Objekt abrufen. Beide vermeiden die Notwendigkeit, fetch() oder WebAssembly.compileStreaming() aufzurufen, und verwenden stattdessen die standardmige Modullader-Infrastruktur.
import source modSource from "./simple.wasm";
const worker = new Worker("wasm_worker.js");
worker.postMessage(modSource);
| Spezifikation |
|---|
| WebAssembly JavaScript Interface # modules |
Der Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |