Не могу разобраться с setTimeout();

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

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

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


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

Автор решения: Igor
for (let i = 0; i < n; i++) {          
  setTimeout(func, 1000 * (i + 1));
}
→ Ссылка
Автор решения: xydope

//Вариант 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)

→ Ссылка