@Zorgios

Как запустить второй таймер из первого и наоборот?

Имеется 2 условных таймера. Первый останавливается, когда будет сгенерирован 0, второй - когда 1.
Как можно запустить первый таймер так, чтобы после генерации 0 он останавливался и запускался второй таймер, который после генерации 1 запускал первый таймер.
И так по кругу...
https://jsfiddle.net/fqbwy92h/1/
function firstTimer_func(){
	console.log('Сработал первый таймер.');
  i = Math.floor(Math.random() * 2);
  console.log(i);
  if(i==0){
    clearInterval(firstTimer);
  }
}
// Запуск первого таймера
//var firstTimer=setInterval(firstTimer_func,1000);

function secondTimer_func(){
  console.log('Сработал второй таймер.');
  i = Math.floor(Math.random() * 2);
  console.log(i);
  if(i==1){
    clearInterval(secondTimer);
  }
}
// запуск второго таймера
//var secondTimer=setInterval(secondTimer_func,1000);
  • Вопрос задан
  • 63 просмотра
Решения вопроса 2
Запуск первого таймера оформить в функцию , как и запуск второго
Вызывать функцию после очистки интервала.
Все знания для этого у тебя есть, просто нужно немного подумать. Сам то чего так быстро здался?
Ответ написан
Комментировать
@Zorgios Автор вопроса
Вроде получилось. Но, предполагаю. Можно как-то оптимизировать.
https://jsfiddle.net/nLd6mzcu/2/
let firstTimer;
let secondTimer;
function firstTimer_func(){
  console.log('Сработал первый таймер.');
  i = Math.floor(Math.random() * 2);
  console.log(i);
  if(i==0){
    clearInterval(firstTimer);
    startSecondTimer();
  }
}
function secondTimer_func(){
  console.log('Сработал второй таймер.');
  i = Math.floor(Math.random() * 2);
  console.log(i);
  if(i==1){
    clearInterval(secondTimer);
    startFirstTimer();
  }
}
  
function startFirstTimer(){
	firstTimer=setInterval(firstTimer_func,5000); 
}

function startSecondTimer(){ 
	secondTimer=setInterval(secondTimer_func,5000); 
}

startFirstTimer();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
30 апр. 2024, в 23:39
3000 руб./за проект
30 апр. 2024, в 23:32
1500 руб./за проект
30 апр. 2024, в 22:44
500 руб./в час