--- title: WebAssembly.compileStreaming() slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/compileStreaming translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/compileStreaming ---
{{JSRef}}

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

Синтаксис

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

Parameters

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

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

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

Исключения

Примеры

Следующий пример (см. Нашу демонстрацию compile-streaming.html на GitHub и view it live) напрямую передаёт модуль .wasm из исходника, затем компилирует его в объект {{jsxref("WebAssembly.Module")}}.
Поскольку функция compileStreaming() принимает промис для объекта {{domxref("Response")}}, вы можете напрямую передать ему вызов {{domxref("WindowOrWorkerGlobalScope.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());

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

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

Спецификация Статус Коммент
{{SpecName('WebAssembly Embedding', '#webassemblycompilestreaming', 'compileStreaming()')}} {{Spec2('WebAssembly Embedding')}} Первоначальное определение 
проекта.

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

{{Compat("javascript.builtins.WebAssembly.compileStreaming")}}

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