@Alexey10

Как включить setInterval после выполнения другого setInterval?

Ребят, всем привет.
Такая проблема:
Есть два таймера (setInterval). Мне нужно, чтобы они выполнялись один за другим. То есть, через 4 секунды сработал первый таймер, и только после этих 4 секунд, срабатывал другой таймер. Если первый таймер не сработал, то и второй тоже, так как второй должен включаться только после 4 секунд первого таймера. Помогите пожалуйста, а то мучаюсь пол дня, в интернете ничего нормального не смог найти)))
Всем большое спасибо за помощь.

var timer1;
var timer2;


function timer1Func() {
	timer1 = setInterval(function() {
		       // выполняется действие первого таймера
	 }, 4000);
}
	
function timer2Func() {
	timer2 = setInterval(function() {
		       // выполняется действие второго таймера
	 }, 2000);
}
  • Вопрос задан
  • 308 просмотров
Решения вопроса 2
zendor
@zendor
Скорее всего вам нужен setTimeout().
var timer1;
var timer2;

function timer1Func() {
  timer1 = setTimeout(function() {
    console.log('1st timer fired');
    timer2Func();
  }, 4000);
}
  
function timer2Func() {
  timer2 = setTimeout(function() { 
    console.log('2nd timer fired');
    timer1Func(); // Если не нужна цикличность, то удалите эту строчку.
  }, 2000);
}

timer1Func();
Ответ написан
shmatuan
@shmatuan
8 year of Web, 5 years of Vue
https://codepen.io/andreysh/pen/aPgwbR?editors=1010 так?

function timer1Func() {
  timer1 = setInterval(function() {
           // выполняется действие первого таймера
    console.log("1 таймер сработал")
    timer2Func()
   }, 4000);
}
  
function timer2Func() {
  timer2 = setTimeout(function() {
           // выполняется действие второго таймера
    console.log("2 таймер сработал")
   }, 2000);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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