WebAssembly.compile()
Функция WebAssembly.compile()
компилирует WebAssembly.Module
из двоичного кода WebAssembly. Эта функция полезна, если необходимо компилировать модуль до того, как его можно создать (в противном случае следует использовать функцию WebAssembly.instantiate()
.
Синтаксис
Promise<WebAssembly.Module> WebAssembly.compile(bufferSource);
Параметры
- bufferSource
-
Типизированный массив typed array или ArrayBuffer, содержащий двоичный код модуля
.wasm
, который вы хотите скомпилировать.
Возвращаемое значение
Промис (Promise
), который разрешает объект WebAssembly.Module
, представляющий скомпилированный модуль.
Исключения
- Если
bufferSource
не является typed array, генерируетсяTypeError
. - Если компиляция не удалась, промис отклоняется с помощью
WebAssembly.CompileError
.
Примеры
В следующем примере выполняется компиляция загруженного 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));
Примечание:
Вероятно, вы захотите использовать WebAssembly.compileStreaming()
в большинстве случаев, поскольку он более эффективен, чем compile()
.
Характеристики
Specification |
---|
WebAssembly JavaScript Interface # dom-webassembly-compile |
Совместимость с браузерами
BCD tables only load in the browser
Смотрите также
- WebAssembly обзорная страница
- WebAssembly концепции
- Использование WebAssembly JavaScript API