loadWindowVariables.js optimiert
This commit is contained in:
@@ -60,37 +60,56 @@ export async function loadWindowVariables() {
|
||||
|
||||
const scripts = ["de.js", "kueData.js", "Start.js", "System.js"];
|
||||
|
||||
// Erster Aufruf zum Laden aller Skripte
|
||||
Promise.all(scripts.map(loadScript))
|
||||
// Lade die Skripte nacheinander
|
||||
scripts
|
||||
.reduce((promise, script) => {
|
||||
return promise.then(() => loadScript(script));
|
||||
}, Promise.resolve())
|
||||
.then(() => {
|
||||
// Einmaliger direkter Check, ob alle Variablen vorhanden sind
|
||||
const missingVarsInitial = requiredVars.filter(
|
||||
(variable) => window[variable] === undefined
|
||||
);
|
||||
const checkVariables = () => {
|
||||
const missingVars = requiredVars.filter(
|
||||
(variable) => window[variable] === undefined
|
||||
);
|
||||
return missingVars;
|
||||
};
|
||||
|
||||
if (missingVarsInitial.length === 0) {
|
||||
// Alle Variablen sind geladen, keine weiteren Checks notwendig
|
||||
// Einmalige Überprüfung nach dem Laden aller Skripte
|
||||
const initialMissingVars = checkVariables();
|
||||
|
||||
if (initialMissingVars.length === 0) {
|
||||
console.log("Alle Systemvariablen beim ersten Aufruf geladen.");
|
||||
resolve();
|
||||
} else {
|
||||
console.log(
|
||||
"Noch fehlende Variablen beim ersten Aufruf:",
|
||||
missingVarsInitial
|
||||
initialMissingVars
|
||||
);
|
||||
|
||||
// Falls Variablen fehlen, starte das Intervall
|
||||
// Falls Variablen fehlen, starte ein Intervall zur wiederholten Überprüfung
|
||||
const maxChecks = 10;
|
||||
let checkCount = 0;
|
||||
const checkInterval = setInterval(() => {
|
||||
const missingVars = requiredVars.filter(
|
||||
(variable) => window[variable] === undefined
|
||||
);
|
||||
const remainingMissingVars = checkVariables();
|
||||
|
||||
if (missingVars.length === 0) {
|
||||
if (remainingMissingVars.length === 0) {
|
||||
clearInterval(checkInterval);
|
||||
console.log("Alle fehlenden Systemvariablen sind jetzt geladen.");
|
||||
resolve();
|
||||
} else if (checkCount >= maxChecks) {
|
||||
clearInterval(checkInterval);
|
||||
console.warn(
|
||||
"Einige Variablen wurden nicht geladen:",
|
||||
remainingMissingVars
|
||||
);
|
||||
reject(
|
||||
new Error(
|
||||
"Einige Variablen fehlen nach wiederholten Versuchen."
|
||||
)
|
||||
);
|
||||
} else {
|
||||
console.log("Noch fehlende Variablen:", missingVars);
|
||||
console.log("Noch fehlende Variablen:", remainingMissingVars);
|
||||
}
|
||||
checkCount++;
|
||||
}, 10000); // Überprüfung alle 10 Sekunden
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user