WebAssembly.compileStreaming()
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since сентябрь 2021 г..
* Some parts of this feature may have varying levels of support.
Функция WebAssembly.compileStreaming() компилирует WebAssembly.Module непосредственно из потокового исхо��ника. Эта функция полезна, если необходимо скомпилировать модуль до того, как его можно создать (в противном случае следует использовать функцию WebAssembly.instantiateStreaming().
Синтаксис
Promise<WebAssembly.Module> WebAssembly.compileStreaming(source);
Parameters
Возвращаемое значение
Промис (Promise), который разрешает объект WebAssembly.Module, представляющий скомпилированный модуль.
Исключения
- Если
bufferSourceне является typed array, генерируетсяTypeError. - Если компиляция не удалась, промис отклоняется с помощью
WebAssembly.CompileError.
Примеры
Следующий пример (см. Нашу демонстрацию compile-streaming.html на GitHub и view it live) напрямую передаёт модуль .wasm из исходника, затем компилирует его в объект WebAssembly.Module.
Поскольку функция compileStreaming() принимает промис для объекта Response, вы можете напрямую передать ему вызов fetch(), и он передаст ответ в выполняемую функцию.
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() и вызывается экспортированная функция.
Характеристики
| Specification |
|---|
| WebAssembly Web API # dom-webassembly-compilestreaming |
Совместимость с браузерами
Смотрите также
- WebAssembly обзорная страница
- WebAssembly концепции
- Использование WebAssembly JavaScript API