diff options
| author | Damien George <damien@micropython.org> | 2024-04-24 13:00:20 +1000 |
|---|---|---|
| committer | Damien George <damien@micropython.org> | 2024-04-24 13:15:54 +1000 |
| commit | 45848f77cac07dac1c77680041862ba444c1f3a3 (patch) | |
| tree | 616d30f049ef777b0b3fea59ac71fcfaf12cee0a /ports/webassembly/api.js | |
| parent | 49ce7a607517dc0152a4f8768f5d03b3e5613e02 (diff) | |
webassembly/api: Fix waiting for Emscripten module to be loaded.
In modularize mode, the `_createMicroPythonModule()` constructor must be
await'ed on, before `Module` is ready to use.
Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'ports/webassembly/api.js')
| -rw-r--r-- | ports/webassembly/api.js | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/ports/webassembly/api.js b/ports/webassembly/api.js index 7d1832af4..2459075fc 100644 --- a/ports/webassembly/api.js +++ b/ports/webassembly/api.js @@ -38,7 +38,7 @@ export async function loadMicroPython(options) { { heapsize: 1024 * 1024, linebuffer: true }, options, ); - const Module = {}; + let Module = {}; Module.locateFile = (path, scriptDirectory) => url || scriptDirectory + path; Module._textDecoder = new TextDecoder(); @@ -83,11 +83,7 @@ export async function loadMicroPython(options) { Module.stderr = (c) => stderr(new Uint8Array([c])); } } - const moduleLoaded = new Promise((r) => { - Module.postRun = r; - }); - _createMicroPythonModule(Module); - await moduleLoaded; + Module = await _createMicroPythonModule(Module); globalThis.Module = Module; proxy_js_init(); const pyimport = (name) => { |
