Разница между таймерами setInterval и setTimeout при создании бесконечных циклов в том, что setInterval выполняет функцию многократно, а setTimeout — однократно. 3
setInterval принимает параметром функцию, которая будет выполняться бесконечное количество раз с заданным интервалом в миллисекундах. 1 Например, в примере функция intervalFunc() будет выполняться каждые 1500 миллисекунд или 1,5 секунды, до тех пор, пока её не остановят. 1
setTimeout, в свою очередь, запускает функцию единожды, через указанный интервал времени. 5 Если настроить setTimeout на цикл, он будет продолжать срабатывать с заданным интервалом, пока не вызовут функцию clearTimeout(). 4
Таким образом, setInterval подходит для приложений, в которых есть потребность в регулярном обновлении через равные интервалы времени, а setTimeout — для единоразовой отложенной операции. 5