@DeniSidorenko

Как сделать что бы функция не выполнялась быстрее чем 2s?

Добрый день есть такая функция
document.addEventListener("DOMContentLoaded", function(event) {
    console.log("DOM fully loaded and parsed");
  });


После того как загрузится Dom вывести console.log. Вопрос у меня в другом. Как сделать что бы console.log не выполнялся раньше чем за 2s. К примеру если DOM загрузится за 5 секунд( теоретически ) то выполнить console.log после его выполнение. А если он загрузится за 0.5s пусть console.log не выполнится пока не пройдет 2s
  • Вопрос задан
  • 531 просмотр
Решения вопроса 2
dantothefuture
@dantothefuture
You sleep, she sleeps, they sleep, I... don't.
Попробуйте Navigation Timing API:

function startAfter (delay, callback) {
  const elapsed = Date.now() - performance.timing.navigationStart

  if (elapsed >= delay) {
    callback()
  } else {
    setTimeout(callback, delay - elapsed)
  }
}

document.addEventListener("DOMContentLoaded", () => {
  startAfter(2000, () => console.log("DOM fully loaded and parsed"))
})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы