--- title: WebAssembly.compile() slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/compile translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/compile ---
Функция WebAssembly.compile() компилирует {{jsxref("WebAssembly.Module")}} из двоичного кода WebAssembly. Эта функция полезна, если необходимо компилировать модуль до того, как его можно создать (в противном случае следует использовать функцию {{jsxref("WebAssembly.instantiate()")}}.
Promise<WebAssembly.Module> WebAssembly.compile(bufferSource);
.wasm, который вы хотите скомпилировать.Промис (Promise), который разрешает объект {{jsxref("WebAssembly.Module")}}, представляющий скомпилированный модуль.
bufferSource не является typed array, генерируется {{jsxref("TypeError")}}.В следующем примере выполняется компиляция загруженного simple.wasm байт-кода с использованием функции compile(), а затем отправляется его worker-работнику, использующему postMessage().
var worker = new Worker("wasm_worker.js");
fetch('simple.wasm').then(response =>
response.arrayBuffer()
).then(bytes =>
WebAssembly.compile(bytes)
).then(mod =>
worker.postMessage(mod)
);
Примечание: Вероятно, вы захотите использовать {{jsxref("WebAssembly.compileStreaming()")}} в большинстве случаев, поскольку он более эффективен, чем compile().
| Спецификация | Статус | Коммент |
|---|---|---|
| {{SpecName('WebAssembly JS', '#webassemblycompile', 'compile()')}} | {{Spec2('WebAssembly JS')}} | Первоначальное определение проекта. |
{{Compat}}