emscripten-core/emscripten
Voir sur GitHubFeature request: MAIN_THREAD_EM_ASYNC_JS
Open
#16 694 ouverte le 11 avr. 2022
good first bughelp wanted
Métriques du dépôt
- Stars
- (27 361 stars)
- Métriques de merge PR
- (Merge moyen 19j 10h) (147 PRs mergées en 30 j)
Description
EM_ASYNC_JS is really useful for writing async JS code with await, however it runs on the thread it was called on. It would be nice if there were a version that proxied the call to the main thread.
The alternative is to use MAIN_THREAD_ASYNC_EM_ASM (extra boilerplate with Asyncify.handleAsync and doesn't define a C function like EM_ASYNC_JS does):
MAIN_THREAD_ASYNC_EM_ASM({
return Asyncify.handleAsync(async () => {
// ....
});
});
and then setting -s 'ASYNCIFY_IMPORTS=["emscripten_receive_on_main_thread_js"]'
related https://github.com/emscripten-core/emscripten/issues/8991#issuecomment-846440750