Я не уверен, что я делаю что-то не так, на самом деле не использовал его в JS, но я бы хотел проверить каждые 5 секунд, если строка существует в db с вызовом ajax, пока условие не выполняется.javascript do while зависает и делает браузер не в памяти
Это мой призыв:
var checkForDoc = false;
var i = 0;
do {
$timeout(function() {
$http({
url: 'http://localhost:52876/api/Admin/CheckForDoc',
method: "POST",
async: false,
params: { loanID: $scope.loanIdPopup }
}).success(function (data, status) {
if (data === 'OK') {
checkForDoc = true;
}
else{
i++;
}
if (i == 23) {
checkForDoc = true;
}
}).error(function (data, status) {
console.log(data);
});
}, 5000);
} while (!checkForDoc);
if (checkForDoc) {
$uibModalInstance.close();
}
Так что я хотел бы проверить каждые 5 секунд, если запись существует в БД и если он установлен в checkForDoc истина, которая закрывает модальное всплывающее окно. В случае, если строка не существует через 2 минуты, я также закрою всплывающее окно, но, как я уже сказал, когда я дойду до строки do в отладчике, браузер перестает отвечать, и через некоторое время я получаю это сообщение
Спасибо и счастливых праздники всех
В качестве побочного примечания я обнаружил, что всегда полезно добавить переменную «проверка работоспособности» всякий раз, когда я делаю цикл while. 'while (независимо) {sanityCheck ++; if (sanityCheck> 100) отладчик; * остаток цикла *} '. Эта практика может помочь спасти вас от сбоев браузера И делает паузы в правильном месте проблемы, поэтому вы можете проверить, что происходит. – machineghost