Without this PR,
```js
let f = pyodide.globals.get("some_async_function");
setTimeout(f, 100);
```
doesn't work because `setTimeout` calls `f` which returns a coroutine which is left unscheduled and so the actual work in `f` is never executed. This is surprising to people, see for instance https://github.com/pyodide/pyodide/discussions/2229. This changes the behavior to automatically schedule all coroutines created from async functions called from Javascript so that async functions can be used as Javascript event handlers.
ENH Automatically schedule coroutines. Without this PR,
```js
let f = pyodide.globals.get("some_async_function");
setTimeout(f, 100);
```
doesn't work because `setTimeout` calls `f` which returns a coroutine which is left unscheduled and so the actual work in `f` is never executed. This is surprising to people, see for instance https://github.com/pyodide/pyodide/discussions/2229. This changes the behavior to automatically schedule all coroutines created from async functions called from Javascript so that async functions can be used as Javascript event handlers.
0000000000000000000000000000000000000000 f1498a2747d5dc968dad2d872181d9cad2d80a48 jupyter <jupyter@data-collection2-susnato.c.rishabh-experiments.internal> 1705136699 +0000	clone: from https://github.com/pyodide/pyodide.git

0000000000000000000000000000000000000000 f1498a2747d5dc968dad2d872181d9cad2d80a48 jupyter <jupyter@data-collection2-susnato.c.rishabh-experiments.internal> 1705136699 +0000	clone: from https://github.com/pyodide/pyodide.git
