dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.

Home Page:https://docs.microsoft.com/dotnet/core/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support Asyncify for Blazor scenarios

AaronRobinsonMSFT opened this issue · comments

Asyncify permits making an existing synchronous API utilize a JavaScript/WASM asynchronous based API.

An example of the Julia runtime adding support - JuliaLang/julia#32532.

See #37669

/cc @steveisok @lewing @marek-safar

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Asyncify permits making an existing synchronous API utilize a JavaScript/WASM asynchronous based API.

An example of the Julia runtime adding support - JuliaLang/julia#32532.

See #37669

/cc @steveisok @lewing @marek-safar

Author: AaronRobinsonMSFT
Assignees: -
Labels:

arch-wasm, area-Codegen-LLVM-mono, untriaged

Milestone: -

For background https://kripken.github.io/blog/wasm/2019/07/16/asyncify.html covers the benefits and limitations. The limitations there are hard to avoid in the current runtime but we should expand on the reasoning here.

The limitations around this approach in the browser scenario make it unsuitable for a general sync over Promise solution.