loadWindowVariables.js optimiert
This commit is contained in:
@@ -32,7 +32,15 @@ var kueAlarm1 = [
|
||||
0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
];
|
||||
// Verzögerung in Sekunden
|
||||
/*
|
||||
Verzögerung/Filterzeit 420 Sekunden Standardeinstellung
|
||||
In dem Beispiel muss der Isolationswiderstand für die gesamte Filterzeit von 420 Sekunden
|
||||
kontinuierlich unter dem Grenzwert bleiben, damit ein Isolationsfehler erkannt und das Signal weitergeleitet wird.
|
||||
|
||||
Wenn der Widerstand innerhalb dieser 420 Sekunden wieder über den Grenzwert steigt, wird der Alarm nicht ausgelöst und
|
||||
die Filterzeit startet beim nächsten Unterschreiten des Grenzwerts neu. Die Filterzeit verhindert also, dass
|
||||
kurzfristige Schwankungen oder Störungen fälschlicherweise als Fehler gemeldet werden.
|
||||
*/
|
||||
var kueDelay1 = [
|
||||
410, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
|
||||
420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
|
||||
|
||||
@@ -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