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().

Характеристики

Спецификация Статус Коммент
WebAssembly JavaScript Interface
Определение 'compile()' в этой спецификации.
Рабочий черновик Первоначальное определение проекта.

Совместимость с браузером

BCD tables only load in the browser

Смотрите также