WebAssembly.compile()

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.

* Some parts of this feature may have varying levels of support.

WebAssembly.compile() 関数は WebAssembly バイナリーコードを WebAssembly.Module の形にコンパイルします。この関数は、モジュールをインスタンス化する前にコンパイルする必要がある場合に便利です (それ以外の場合は、 WebAssembly.instantiate() 関数を使用してください)。

構文

js
WebAssembly.compile(bufferSource);

引数

bufferSource

コンパイルする .wasm モジュールのバイナリーコードを含む型付き配列または ArrayBuffer です。

返値

コンパイルされたモジュールを表す WebAssembly.Module オブジェクトに解決する Promise です。

例外

compile の使用

次の例では、読み込まれた simple.wasm バイトコードを、 compile() 関数を使用してコンパイルし、ワーカーpostMessage() を用いて送信します。

js
var 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() よりも効率的なのでそちらの方がいいでしょう。

仕様書

Specification
WebAssembly JavaScript Interface
# dom-webassembly-compile

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
compile() static method
compileOptions parameter

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support

関連情報