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).
Promise<WebAssembly.Module> WebAssembly.compileStreaming(source);
Response
object or a promise that will fulfill with one, representing the underlying source of a .wasm module you want to stream and compile.
A
Promise
解析为
WebAssembly.Module
object representing the compiled module.
bufferSource
is not a
typed array
,
TypeError
is thrown.
WebAssembly.CompileError
.
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.
| 规范 |
|---|
|
WebAssembly features for web embedding
The definition of 'compileStreaming()' in that specification. |
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
compileStreaming
|
Chrome 61 | Edge 16 | Firefox 58 | IE No | Opera 47 | Safari No | WebView Android 61 | Chrome Android 61 | Firefox Android 58 | Opera Android 45 | Safari iOS No | Samsung Internet Android 8.0 | nodejs No |
完整支持
不支持
WebAssembly
WebAssembly.compile()
WebAssembly.compileStreaming()
WebAssembly.instantiate()
WebAssembly.instantiateStreaming()
WebAssembly.validate()
WebAssembly.Module
WebAssembly.Global
WebAssembly.Instance
WebAssembly.Memory
WebAssembly.Table
WebAssembly.CompileError
WebAssembly.LinkError
WebAssembly.RuntimeError
Object
Object.prototype.__defineGetter__()
Object.prototype.__defineSetter__()
Object.prototype.__lookupGetter__()
Object.prototype.__lookupSetter__()
Object.prototype.hasOwnProperty()
Object.prototype.isPrototypeOf()
Object.prototype.propertyIsEnumerable()
Object.prototype.toLocaleString()
Object.prototype.toSource()
Object.prototype.toString()
Object.prototype.valueOf()
Object.setPrototypeOf()