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