Procházet zdrojové kódy

refactored initScripts implementation to run promises in parallel

Gildas před 7 roky
rodič
revize
13f88c3586
1 změnil soubory, kde provedl 7 přidání a 10 odebrání
  1. 7 10
      extension/core/bg/core.js

+ 7 - 10
extension/core/bg/core.js

@@ -121,17 +121,14 @@ singlefile.core = (() => {
 	}
 
 	async function initScripts() {
-		if (!contentScript) {
-			contentScript = await getScript(contentScriptFiles);
-		}
-		if (!frameScript) {
-			frameScript = await getScript(frameScriptFiles);
-		}
-		if (!optionalContentScript) {
+		if (!contentScript && !frameScript && !optionalContentScript) {
 			optionalContentScript = {};
-			await Promise.all(Object.keys(optionalContentScriptFiles).map(async option => {
-				optionalContentScript[option] = await getScript(optionalContentScriptFiles[option]);
-			}));
+			[contentScript, frameScript] = await Promise.all([
+				getScript(contentScriptFiles),
+				getScript(frameScriptFiles),
+				Promise.all(Object.keys(optionalContentScriptFiles)
+					.map(async option => optionalContentScript[option] = await getScript(optionalContentScriptFiles[option])))
+			]);
 		}
 	}