Я хочу проверить текстовый файл, если он содержит этот текст, затем перейти к следующему запросу get и проверить другой текстовый файл, чтобы увидеть, содержит ли этот второй текстовый файл определенный текст.
Я пытался поместить его в цикл while, как это:
function testMessage()
{
const filePaths =
[
"http://example.com/trigger.txt",
"http://example.com/userexceptions.txt",
"http://example.com/message.txt"
];
const trigger = "true";
var currentStage = 0;
const finalStage = 2;
var breakLoop = false;
while (currentStage < finalStage)
{
$.get(filePaths[currentStage], function(data)
{
if (currentStage == 0)
{
const compareText = data.localeCompare(trigger, "en", {sensitivity: "base"});
if (compareText == 0) //if the first text file contains the trigger "true", continue
{
someGlobalVariable = true;
currentStage++;
} else {
breakLoop = true;
}
} else if (currentStage == 1) //if the second text file contains the username of the current user, break the loop
{
const rawUsers = data;
const userExceptions = rawUsers.split(';');
if (userExceptions.indexOf(currentUser) > -1)
{
console.log("User exception is: " + userExceptions[userExceptions.indexOf(currentUser)]);
breakLoop = true;
} else {
currentStage++;
}
} else if (currentStage == 2)
{
globalNotification = data;
notification.global(globalNotification);
console.log("Global notification displayed.");
} else {
console.log("We're here now.");
}
}, 'text')
.fail(function()
{
console.log("Global notifications failed at stage: " + currentStage);
});
if (breakLoop)
break;
}
}
Я также попытался использовать оператор switch вместо нескольких операторов if-else, что также привело к разрыву страницы, поэтому я предположил, что он не прерывается как из switch, так и цикла.
Когда я запускаю это, кажется, что цикл никогда не заканчивается, поэтому он разрывает страницу?