WebAssembly.compileStreaming() - JavaScript 编辑
The WebAssembly.compileStreaming()
function compiles a WebAssembly.Module
directly from a streamed underlying source. This function is useful if it is necessary to a compile a module before it can be instantiated (otherwise, the WebAssembly.instantiateStreaming()
function should be used).
Syntax
Promise<WebAssembly.Module> WebAssembly.compileStreaming(source);
Parameters
- source
- A
Response
object or a promise that will fulfill with one, representing the underlying source of a .wasm module you want to stream and compile.
Return value
A Promise
that resolves to a WebAssembly.Module
object representing the compiled module.
Exceptions
- If
bufferSource
is not a typed array, aTypeError
is thrown. - If compilation fails, the promise rejects with a
WebAssembly.CompileError
.
Examples
Compile streaming
The following example (see our compile-streaming.html demo on GitHub, and view it live also) directly streams a .wasm module from an underlying source then compiles it to a WebAssembly.Module
object. Because the compileStreaming()
function accepts a promise for a Response
object, you can directly pass it a WindowOrWorkerGlobalScope.fetch()
call, and it will pass the response into the function when it fulfills.
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());
The resulting module instance is then instantiated using WebAssembly.instantiate()
, and the exported function invoked.
Specifications
Specification |
---|
WebAssembly features for web embedding The definition of 'compileStreaming()' in that specification. |
Browser compatibility
BCD tables only load in the browser
See also
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论