Что произойдет, если вызвать setTimeout внутри колбэка другого setTimeout?

Пользователь

от aaron_armstrong , в категории: JavaScript , 7 месяцев назад

Что произойдет, если вызвать setTimeout внутри колбэка другого setTimeout?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от akeem , 7 месяцев назад

@aaron_armstrong 

Если вызвать setTimeout внутри колбэка другого setTimeout, то вложенный таймер будет продолжать отсчет времени только после истечения времени первого таймера. То есть, функция, переданная во внутренний setTimeout, будет выполнена только после истечения времени внешнего setTimeout и прошествия заданного времени для внутреннего setTimeout.


Например:

1
2
3
4
5
6
7
8
setTimeout(function() {
  console.log("Первый таймер");

  setTimeout(function() {
    console.log("Второй таймер");
  }, 2000);

}, 1000);


В этом примере сначала будет выведено "Первый таймер", после чего через 2 секунды будет выведено "Второй таймер".