Как выполнять функцию каждую секунду до определённого времени?

У меня есть функция, которую мне нужно выполнять каждую секунду до того момента, пока условие не будет выполнено, но почему-то с моим кодом (он приведён ниже), этого сделать не получается, он срабатывает только один раз, и после перестаёт. Почему так, и как добиться нужного результата?

let carrot_count = parseInt(array[1].textContent);

for ( let i = 0; carrot_count > i; carrot_count-- ) {
    setInterval(function() {
        array[1].textContent = localStorage.getItem('carrot-count') - 1;
    }, 1000);
}

carrot_count и localStorage.getItem('carrot-count') = 16, мне нужно выполнять скрипт, который будет каждую секунду отнимать единицу до того момента, пока эти два параметра не станут по нулям.


Ответы (1 шт):

Автор решения: Igor

let carrot_count = 10;

var timer = setInterval(function() {
  if (carrot_count <= 0) {
    clearInterval(timer);
    console.log("done");
  } else {
    console.log(carrot_count);
  }
  carrot_count--;
}, 1000);

→ Ссылка