WebAssembly.Module() コンストラクター
WebAssembly.Module()
コンストラクターは、ステートレスな WebAssembly コードを含む新しい Module オブジェクトを生成します。これはブラウザーでコンパイルされ、Worker と効率的に共有することができ、複数回インスタンス化することができます。
WebAssembly.Module()
コンストラクター関数は、与えられた WebAssembly バイナリーコードを同期的にコンパイルするために呼び出すことができます。しかし、Module
を取得するには、
WebAssembly.compile()
のような非同期コンパイル関数を使用するほうが主流です。
構文
警告: 大きなモジュールのコンパイルにはコストがかかるため、開発者はどうしても同期コンパイルが必要な場合にのみ Module()
コンストラクターを使用し、それ以外の場合には非同期の WebAssembly.compileStreaming()
メソッドを使用してください。
new WebAssembly.Module(bufferSource)
引数
- bufferSource
-
型付き配列または ArrayBuffer で、コンパイルしたい .wasm モジュールのバイナリーコードです。
例
WebAssembly モジュールの同期的なコンパイル
var importObject = {
imports: {
imported_func: function(arg) {
console.log(arg);
}
}
};
function createWasmModule(bytes) {
return new WebAssembly.Module(bytes);
}
fetch('simple.wasm').then(response =>
response.arrayBuffer()
).then(bytes => {
let mod = createWasmModule(bytes);
WebAssembly.instantiate(mod, importObject)
.then(result =>
result.exports.exported_func()
);
})
仕様書
Specification |
---|
WebAssembly JavaScript Interface # dom-module-module |
ブラウザーの互換性
BCD tables only load in the browser