このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
WebAssembly.Module() コンストラクター
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2017年10月.
* Some parts of this feature may have varying levels of support.
WebAssembly.Module() コンストラクターは、ステートレスな WebAssembly コードを含む新しい Module オブジェクトを生成します。これはブラウザーでコンパイルされ、Worker と効率的に共有することができ、複数回インスタンス化することができます。
WebAssembly.Module() コンストラクター関数は、与えられた WebAssembly バイナリーコードを同期的にコンパイルするために呼び出すことができます。しかし、Module を取得するには、WebAssembly.compile() のような非同期コンパイル関数を使用するほうが主流です。
In this article
構文
警告:大きなモジュールのコンパイルにはコストがかかるため、開発者はどうしても同期コンパイルが必要な場合にのみ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> |