Skip to content

Commit b62ddc7

Browse files
committed
simplify promise usage
1 parent 115e93d commit b62ddc7

File tree

1 file changed

+12
-21
lines changed

1 file changed

+12
-21
lines changed

tools/file_packager.py

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -644,7 +644,7 @@ def generate_js(data_target, data_files, metadata):
644644

645645
if not options.export_es6:
646646
ret += '''
647-
(() => {'''
647+
(async () => {'''
648648

649649
ret += '''
650650
// Do not attempt to redownload the virtual filesystem data when in a pthread or a Wasm Worker context.
@@ -662,8 +662,6 @@ def generate_js(data_target, data_files, metadata):
662662
var require = createRequire(import.meta.url);
663663
}\n'''
664664

665-
if options.export_es6:
666-
ret += 'return new Promise((loadDataResolve, loadDataReject) => {\n'
667665
ret += ' async function loadPackage(metadata) {\n'
668666

669667
code = '''
@@ -716,8 +714,6 @@ def generate_js(data_target, data_files, metadata):
716714
create_data = '''// canOwn this data in the filesystem, it is a slice into the heap that will never change
717715
Module['FS_createDataFile'](this.name, null, byteArray, true, true, true);
718716
Module['removeRunDependency'](`fp ${that.name}`);'''
719-
ready_promise = '''
720-
loadDataResolve();'''
721717

722718
if not options.lz4:
723719
# Data requests - for getting a block of data out of the big archive - have
@@ -744,14 +740,14 @@ def generate_js(data_target, data_files, metadata):
744740
finish: async function(byteArray) {
745741
var that = this;
746742
%s
747-
this.requests[this.name] = null;%s
743+
this.requests[this.name] = null;
748744
}
749745
};
750746
751747
var files = metadata['files'];
752748
for (var i = 0; i < files.length; ++i) {
753749
new DataRequest(files[i]['start'], files[i]['end'], files[i]['audio'] || 0).open('GET', files[i]['filename']);
754-
}\n''' % (create_preloaded if options.use_preload_plugins else create_data, ready_promise if options.export_es6 else '')
750+
}\n''' % (create_preloaded if options.use_preload_plugins else create_data)
755751

756752
if options.has_embedded and not options.obj_output:
757753
diagnostics.warn('--obj-output is recommended when using --embed. This outputs an object file for linking directly into your application is more efficient than JS encoding')
@@ -992,9 +988,6 @@ def generate_js(data_target, data_files, metadata):
992988
return contents.buffer;
993989
}'''.strip()
994990

995-
reject_promise = '''
996-
loadDataReject();'''
997-
998991
ret += '''
999992
async function fetchRemotePackage(packageName, packageSize) {
1000993
%(node_support_code)s
@@ -1099,14 +1092,13 @@ def generate_js(data_target, data_files, metadata):
10991092
if (!fetched) {
11001093
// Note that we don't use await here because we want to execute the
11011094
// the rest of this function immediately.
1102-
fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE).then((data) => {
1103-
if (fetchedCallback) {
1104-
fetchedCallback(data);
1105-
fetchedCallback = null;
1106-
} else {
1107-
fetched = data;
1108-
}
1109-
})
1095+
let packageData = await fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE);
1096+
if (fetchedCallback) {
1097+
fetchedCallback(packageData);
1098+
fetchedCallback = null;
1099+
} else {
1100+
fetched = packageData;
1101+
}
11101102
}\n'''
11111103

11121104
code += '''
@@ -1124,7 +1116,7 @@ def generate_js(data_target, data_files, metadata):
11241116
ret += '''
11251117
}
11261118
if (Module['calledRun']) {
1127-
runWithFS(Module);
1119+
await runWithFS(Module);
11281120
} else {
11291121
(Module['preRun'] ??= []).push(runWithFS); // FS is not initialized yet, wait for it
11301122
}\n'''
@@ -1163,11 +1155,10 @@ def generate_js(data_target, data_files, metadata):
11631155
else:
11641156
ret += '''
11651157
}
1166-
loadPackage(%s);\n''' % json.dumps(metadata)
1158+
await loadPackage(%s);\n''' % json.dumps(metadata)
11671159

11681160
if options.export_es6:
11691161
ret += '''
1170-
});
11711162
}
11721163
// END the loadDataFile function
11731164
'''

0 commit comments

Comments
 (0)