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.
package:
  name: wrapt
  version: 1.13.3
source:
  url: https://files.pythonhosted.org/packages/eb/f6/d81ccf43ac2a3c80ddb6647653ac8b53ce2d65796029369923be06b815b8/wrapt-1.13.3.tar.gz
  sha256: 1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185
test:
  imports:
    - wrapt
about:
  home: https://github.com/GrahamDumpleton/wrapt
  PyPI: https://pypi.org/project/wrapt
  summary: Module for decorators, wrappers and monkey patching.
  license: BSD

package:
  name: wrapt
  version: 1.13.3
source:
  url: https://files.pythonhosted.org/packages/eb/f6/d81ccf43ac2a3c80ddb6647653ac8b53ce2d65796029369923be06b815b8/wrapt-1.13.3.tar.gz
  sha256: 1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185
test:
  imports:
    - wrapt
about:
  home: https://github.com/GrahamDumpleton/wrapt
  PyPI: https://pypi.org/project/wrapt
  summary: Module for decorators, wrappers and monkey patching.
  license: BSD
