Ответ
setTimeout выполняет функцию один раз через указанный интервал времени. setInterval вызывает функцию повторно с заданным интервалом, пока не будет очищен.
Пример:
// setTimeout - выполнится один раз через 1 секунду
setTimeout(() => console.log('Timeout!'), 1000);
// setInterval - будет выводить 'Interval!' каждую секунду
const intervalId = setInterval(() => console.log('Interval!'), 1000);
// Остановка интервала через 3 секунды
setTimeout(() => clearInterval(intervalId), 3000);
Нюансы:
- Оба метода возвращают ID, который можно использовать для отмены (
clearTimeout/clearInterval). - Время выполнения не гарантировано — зависит от загрузки основного потока.
setIntervalможет накладываться, если функция выполняется дольше интервала.