Я пытаюсь создать таймер, который каждую секунду вызывает другую функцию. Поэтому я использую setInterval в цикле for.
setInterval пропускается во время первого цикла цикла for. Не уверен, почему.
Кроме того, у меня есть функция очистки интервала, когда он опускается ниже нуля. Когда у меня печатается сообщение в условиях остановки, оно выводится, но clearInterval пропускается.
function changesystem(lottery, maxroundtime, firstloop) {
//loop through lottery numbers
for (var keys in lottery) {
var currentnum = lottery[keys].LotteryNum;
console.log(currentnum);
var currentclass = lottery[keys].ClassID;
//console.log(currentclass);
//display values
$('#CurrentNumber').text(currentnum);
$('#CurrentClass').text(currentclass);
//change progress bar
//every second until reaches max round time
// var loopcontrol = maxroundtime;
var loopcontrol = 5;
var timerloop = setInterval(function() {
console.log(loopcontrol);
//changetime(maxroundtime,firstloop);
loopcontrol--;
//firstloop=1;
}, 1000);
if (loopcontrol < 0) {
clearInterval(timerloop);
}
}
timerloop
затирается каждой итерацией вашего цикла for - person Jaromanda X   schedule 12.03.2017setInterval
каким-то образом ждет, пока пройдут секунды, но это не так, циклfor
сразу пройдет все итерации, создав столько жеsetInterval
таймеров, которые все начнут тикать и будут продолжать это делать навсегда. КодclearInterval
никогда не будет выполнен. - person trincot   schedule 12.03.2017