0

Есть функция func(), её надо запустить n раз в цикле с интервалом в секунду, пробовал так

for (let i = 0; i < n; i++) {          
 setTimeout(func, 1000);
};

этот код запускает func() n раз через секунду, а мне нужен последовательный запуск с задержкой в секунду (т.е. запускается func() проходит секунда, запускается func() и так n раз.)

2 Answers2

1
for (let i = 0; i < n; i++) {          
  setTimeout(func, 1000 * (i + 1));
}
1

//Вариант 1 - рекурсией
const recursion = (max, count = 1) => {
  count <= max && setTimeout(fun, 1000, max, count+1)
}

//вариант 2 - через интервал. let interval = setInterval(()=>{ console.log('interval') }, 1000)

setTimeout(()=>clearInterval(interval), 5000)

xydope
  • 3,054