This page was translated from English by the community.Learn more and join the MDN Web Docs community.
WebAssembly.compile()
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since октябрь 2017 г..
* Some parts of this feature may have varying levels of support.
ФункцияWebAssembly.compile() компилируетWebAssembly.Module из двоичного кода WebAssembly. Эта функция полезна, если необходимо компилировать модуль до того, как его можно создать (в противном случае следует использовать функциюWebAssembly.instantiate().
In this article
Синтаксис
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> |
Совместимость с браузерами
Смотрите также
- WebAssembly обзорная страница
- WebAssembly концепции
- Использование WebAssembly JavaScript API