WebAssembly.compileStreaming()

Функция WebAssembly.compileStreaming() компилирует WebAssembly.Module (en-US) непосредственно из потокового исходника. Эта функция полезна, если необходимо скомпилировать модуль до того, как его можно создать (в противном случае следует использовать функцию WebAssembly.instantiateStreaming() (en-US).

Синтаксис

Promise<WebAssembly.Module> WebAssembly.compileStreaming(source);

Parameters

source

Промис, или Response, который будет выполнен с одним, представляющим основной источник модулем .wasm, который вы хотите передать и скомпилировать.

Возвращаемое значение

Промис (Promise), который разрешает объект WebAssembly.Module (en-US), представляющий скомпилированный модуль.

Исключения

Примеры

Следующий пример (см. Нашу демонстрацию compile-streaming.html на GitHub и view it live) напрямую передаёт модуль .wasm из исходника, затем компилирует его в объект WebAssembly.Module (en-US). Поскольку функция compileStreaming() принимает промис для объекта Response, вы можете напрямую передать ему вызов fetch(), и он передаст ответ в выполняемую функцию.

js
var importObject = { imports: { imported_func: (arg) => console.log(arg) } };

WebAssembly.compileStreaming(fetch("simple.wasm"))
  .then((module) => WebAssembly.instantiate(module, importObject))
  .then((instance) => instance.exports.exported_func());

Затем создаётся полученный экземпляр модуля с помощью WebAssembly.instantiate() (en-US) и вызывается экспортированная функция.

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

Specification
WebAssembly Web API
# dom-webassembly-compilestreaming

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

BCD tables only load in the browser

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