I have a computationally intensive WASM C function that uses ASYNCIFY to send status updates to the DOM:
EM_JS(void, updateStatus, (int number), { Asyncify.hand