--- 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("javascript.builtins.WebAssembly.compile")}}