mirror of
https://github.com/denoland/deno.git
synced 2024-12-22 15:24:46 -05:00
d983b577bc
`handleWasmStreaming` is the function that provides the binding with the `fetch` API needed for `WebAssembly.instantiateStreaming()` and `WebAssembly.compileStreaming()`. When I implemented it in #11200, I thought V8 was calling these functions with the argument of the `WebAssembly` streaming functions, without doing any resolving, and so `handleWasmStreaming` awaits for the parameter to resolve. However, as discovered in https://github.com/denoland/deno/issues/13917#issuecomment-1065805565, V8 does in fact resolve the parameter if it's a promise (and handles rejections arising from that). This change removes the `async` IIFE inside `handleWasmStreaming`, letting initial errors be handled synchronously (which will however not throw synchronously from the `WebAssembly` namespace functions). Awaiting is still necessary for reading the bytes of the response, though, and so there is an `async` IIFE for that. |
||
---|---|---|
.. | ||
broadcast_channel | ||
console | ||
crypto | ||
fetch | ||
ffi | ||
http | ||
net | ||
tls | ||
url | ||
web | ||
webgpu | ||
webidl | ||
websocket | ||
webstorage |