WebAssembly.Instance.prototype.exports

Baseline 已廣泛支援

此功能已非常成熟,可在多種裝置和瀏覽器版本上使用。自 2017 年 10 月以來,它已在各大瀏覽器中可用。

WebAssembly.Instance 物件的 exports 只讀屬性返回一個物件,該物件包含從 WebAssembly 模組例項匯出的所有函式作為其成員,以便 JavaScript 可以訪問和使用它們。

示例

使用 exports

使用 fetch 獲取一些 WebAssembly 位元組碼後,我們使用 WebAssembly.instantiateStreaming() 函式來編譯和例項化模組,在此過程中將 JavaScript 函式匯入到 WebAssembly 模組中。然後,我們呼叫 Instance 匯出的 匯出的 WebAssembly 函式

js
const importObject = {
  my_namespace: {
    imported_func(arg) {
      console.log(arg);
    },
  },
};

WebAssembly.instantiateStreaming(fetch("simple.wasm"), importObject).then(
  (obj) => obj.instance.exports.exported_func(),
);

注意:您也可以在 GitHub 上找到此示例,名為 instantiate-streaming.html(也可以 線上檢視)。

規範

規範
WebAssembly JavaScript 介面
# dom-instance-exports

瀏覽器相容性

另見