WebAssembly.compile()

**WebAssembly.compile()** 靜態方法將 WebAssembly 二進位制程式碼編譯成一個WebAssembly.Module 物件。如果必須在模組例項化之前編譯模組,此函式很有用(否則,應使用WebAssembly.instantiate() 函式)。

**注意:** 具有嚴格內容安全策略 (CSP) 的網頁可能會阻止 WebAssembly 編譯和執行模組。有關允許 WebAssembly 編譯和執行的更多資訊,請參閱script-src CSP

語法

js
WebAssembly.compile(bufferSource)

引數

bufferSource

包含要編譯的 Wasm 模組二進位制程式碼的型別化陣列ArrayBuffer

返回值

一個 Promise,解析為表示已編譯模組的WebAssembly.Module 物件。

異常

示例

使用 compile

以下示例使用 compile() 函式編譯載入的 simple.wasm 位元組碼,然後使用postMessage() 將其傳送到工作執行緒

js
const worker = new Worker("wasm_worker.js");

fetch("simple.wasm")
  .then((response) => response.arrayBuffer())
  .then((bytes) => WebAssembly.compile(bytes))
  .then((mod) => worker.postMessage(mod));

**注意:** 在大多數情況下,您可能希望使用WebAssembly.compileStreaming(),因為它比 compile() 更高效。

規範

規範
WebAssembly JavaScript 介面
# dom-webassembly-compile

瀏覽器相容性

BCD 表格僅在啟用 JavaScript 的瀏覽器中載入。

另請參閱