Sobes.tech
Middle+

Pourquoi le temps d'exécution de sleep n'est-il pas exactement de 1000 et 2000 millisecondes, mais un peu plus ? Qu'est-ce qui influence le retard ?

sobes.tech IA

Réponse de l'IA

Время выполнения функции sleep в JavaScript (и в других языках) не гарантирует точное соответствие заданной задержке, а лишь минимальное время ожидания. Причины задержки:

  • Планировщик событий (Event Loop): после истечения таймера задача ставится в очередь, но выполняется только когда стек вызовов свободен.
  • Нагрузка на CPU: если процессор занят другими задачами, выполнение отложится.
  • Точность таймеров: системные таймеры имеют ограниченную точность, особенно в браузерах.

Например, setTimeout(() => console.log('done'), 1000) может сработать через 1005-1010 мс или больше, если в это время выполняются другие скрипты.