Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

Experiment: Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.

WebAssembly.Module

BaselineWidely available *

EinWebAssembly.Module-Objekt enthält zustandslosen WebAssembly-Code, der bereits vom Browser kompiliert wurde — dieser kann effizientmit Arbeitern geteilt werden und mehrfach instanziiert werden.

Hinweis:DasWebAssembly.Module-Objekt ist nicht mit demModule-Objekt von Emscripten verwandt.

Konstruktor

WebAssembly.Module()

Erstellt ein neuesModule-Objekt.

Statische Methoden

WebAssembly.Module.customSections()

Gibt bei einemModule und einem String eine Kopie des Inhalts aller benutzerdefinierten Sektionen im Modul mit dem angegebenen String-Namen zurück.

WebAssembly.Module.exports()

Gibt bei einemModule ein Array zurück, das Beschreibungen aller deklarierten Exporte enthält.

WebAssembly.Module.imports()

Gibt bei einemModule ein Array zurück, das Beschreibungen aller deklarierten Importe enthält.

Beispiele

Versand eines kompilierten Moduls an einen Worker

Das folgende Beispiel kompiliert den geladenensimple.wasm-Bytecode mit der MethodeWebAssembly.compileStreaming() und sendet die resultierendeModule-Instanz an einenWorker mithilfe vonpostMessage().

Siehe denindex-compile.htmlQuellcode odersehen Sie sich das live an.

js
const worker = new Worker("wasm_worker.js");WebAssembly.compileStreaming(fetch("simple.wasm")).then((mod) =>  worker.postMessage(mod),);

Die Worker-Funktionwasm_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 MethodeWebAssembly.instantiate() und rufen eine exportierte Funktion von innen auf.

js
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

Specification
WebAssembly JavaScript Interface
# modules

Browser-Kompatibilität

Siehe auch

MDN-Feedback-Box

Diese Seite wurde automatisch aus dem Englischen übersetzt.


[8]ページ先頭

©2009-2025 Movatter.jp