mirror of https://github.com/godotengine/godot
Merge pull request #47462 from Faless/js/4.x_init_no_promise
[HTML5] Fix Mono builds (old emcc?)
This commit is contained in:
commit
2f2e4d6524
|
|
@ -101,19 +101,23 @@ const Engine = (function () {
|
|||
}
|
||||
const me = this;
|
||||
function doInit(promise) {
|
||||
return promise.then(function (response) {
|
||||
return Godot(me.config.getModuleConfig(loadPath, new Response(response.clone().body, { 'headers': [['content-type', 'application/wasm']] })));
|
||||
}).then(function (module) {
|
||||
const paths = me.config.persistentPaths;
|
||||
return module['initFS'](paths).then(function (err) {
|
||||
return Promise.resolve(module);
|
||||
// Care! Promise chaining is bogus with old emscripten versions.
|
||||
// This caused a regression with the Mono build (which uses an older emscripten version).
|
||||
// Make sure to test that when refactoring.
|
||||
return new Promise(function (resolve, reject) {
|
||||
promise.then(function (response) {
|
||||
const cloned = new Response(response.clone().body, { 'headers': [['content-type', 'application/wasm']] });
|
||||
Godot(me.config.getModuleConfig(loadPath, cloned)).then(function (module) {
|
||||
const paths = me.config.persistentPaths;
|
||||
module['initFS'](paths).then(function (err) {
|
||||
me.rtenv = module;
|
||||
if (me.config.unloadAfterInit) {
|
||||
Engine.unload();
|
||||
}
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
});
|
||||
}).then(function (module) {
|
||||
me.rtenv = module;
|
||||
if (me.config.unloadAfterInit) {
|
||||
Engine.unload();
|
||||
}
|
||||
return Promise.resolve();
|
||||
});
|
||||
}
|
||||
preloader.setProgressFunc(this.config.onProgress);
|
||||
|
|
|
|||
Loading…
Reference in New Issue