Skip to content

Commit b277aea

Browse files
committed
simplify promise usage
1 parent be712ca commit b277aea

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 = '''
@@ -713,8 +711,6 @@ def generate_js(data_target, data_files, metadata):
713711
create_data = '''// canOwn this data in the filesystem, it is a slide into the heap that will never change
714712
Module['FS_createDataFile'](this.name, null, byteArray, true, true, true);
715713
Module['removeRunDependency'](`fp ${that.name}`);'''
716-
ready_promise = '''
717-
loadDataResolve();'''
718714

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

753749
if options.has_embedded and not options.obj_output:
754750
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')
@@ -989,9 +985,6 @@ def generate_js(data_target, data_files, metadata):
989985
return contents.buffer;
990986
}'''.strip()
991987

992-
reject_promise = '''
993-
loadDataReject();'''
994-
995988
ret += '''
996989
async function fetchRemotePackage(packageName, packageSize) {
997990
%(node_support_code)s
@@ -1096,14 +1089,13 @@ def generate_js(data_target, data_files, metadata):
10961089
if (!fetched) {
10971090
// Note that we don't use await here because we want to execute the
10981091
// the rest of this function immediately.
1099-
fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE).then((data) => {
1100-
if (fetchedCallback) {
1101-
fetchedCallback(data);
1102-
fetchedCallback = null;
1103-
} else {
1104-
fetched = data;
1105-
}
1106-
})
1092+
let packageData = await fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE);
1093+
if (fetchedCallback) {
1094+
fetchedCallback(packageData);
1095+
fetchedCallback = null;
1096+
} else {
1097+
fetched = packageData;
1098+
}
11071099
}\n'''
11081100

11091101
code += '''
@@ -1121,7 +1113,7 @@ def generate_js(data_target, data_files, metadata):
11211113
ret += '''
11221114
}
11231115
if (Module['calledRun']) {
1124-
runWithFS(Module);
1116+
await runWithFS(Module);
11251117
} else {
11261118
(Module['preRun'] ??= []).push(runWithFS); // FS is not initialized yet, wait for it
11271119
}\n'''
@@ -1160,11 +1152,10 @@ def generate_js(data_target, data_files, metadata):
11601152
else:
11611153
ret += '''
11621154
}
1163-
loadPackage(%s);\n''' % json.dumps(metadata)
1155+
await loadPackage(%s);\n''' % json.dumps(metadata)
11641156

11651157
if options.export_es6:
11661158
ret += '''
1167-
});
11681159
}
11691160
// END the loadDataFile function
11701161
'''

0 commit comments

Comments
 (0)