Hi all!
I'm documenting a recent change in the semantics of Emscripten and emcc
(starting from 1.39.x and also seems to affect 2.0.x): Module() now returns a
promise and one should for example do:
Module().then((result) => {
real_module = result;
})
E.g like in
https://github.com/shlomif/fc-solve/commit/dcdb924262860eb8d023402400fa1e8cd9dce6c2
:
diff --git a/fc-solve/site/wml/src/ts/web-fc-solve-tests.ts
b/fc-solve/site/wml/src/ts/web-fc-solve-tests.ts index f3082e52f..d510bc4fa
100644 --- a/fc-solve/site/wml/src/ts/web-fc-solve-tests.ts
+++ b/fc-solve/site/wml/src/ts/web-fc-solve-tests.ts
@@ -494,7 +494,12 @@ export function test_js_fc_solve_class(qunit: QUnit,
my_callback: () => void) { // var _my_mod = Module({});
const _my_mod = [null];
_my_mod[0] = Module()({
- onRuntimeInitialized: my_func(qunit, _my_mod, my_callback),
+ onRuntimeInitialized: () => {
+ _my_mod[0].then((result) => {
+ _my_mod[0] = result;
+ return my_func(qunit, _my_mod, my_callback)();
+ });
+ },
});
return;
}
(my code has a little weirdness of using "Module()()" instead of "Module()" -
you can ignore that).
For more about js promises, see:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
--
Shlomi Fish https://www.shlomifish.org/
Perl Elems to Avoid - https://perl-begin.org/tutorials/bad-elements/
There was one Napoleon, one George Washington, and one me!
— Big Boy Caprice in
https://en.wikiquote.org/wiki/Dick_Tracy_%281990_film%29
Please reply to list if it's a mailing list post - https://shlom.in/reply .
--
You received this message because you are subscribed to the Google Groups
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/emscripten-discuss/20200821152439.0cb14ca2%40telaviv1.shlomifish.org.