Запланируйте setTimeout в пределах setInterval - PullRequest
0 голосов
/ 08 июня 2018

У меня есть программа на javascript, которая выполняет предложение, сгенерированное с блочным выражением. Это генерируется следующим образом:

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

setInterval(function(){
    setTimeout(function(){
       console.log("Hola")
    }, 5000)
}, 1000);

Почему console.log запускается каждую секунду?

1 Ответ

0 голосов
/ 08 июня 2018

Непонятно, чего вы на самом деле хотите.

Возможно, это?Попытка запустить тайм-аут каждые 5 секунд, но только если его еще нет

var tId;
setInterval(function() {
  if (!tId) tId = setTimeout(function() {
    console.log("Hola", tId, new Date());
    tId = "";
  }, 5000)
}, 1000);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...