iSeb
@iSeb
потребитель услуг IT

Триггеры как исключить повторное выполнение функции до момента ее завершения?

Например срабатывает триггер запускается функция, допустим функция будет выполнять какие то
сложные расчеты 1-2 сек, пользователь успевает до окончания работы вызвавшейся функции еще раз вызвать эту же функцию.

Есть ли решение по сценарию если триггер вызвал функцию то в начале функции СТОП триггеру выполняем функцию и в конце функции ВКЛЮЧАЕМ триггер ?

Проще говоря как не допустить вызов функции от триггера повторно пока она не закончила свои действия ?
  • Вопрос задан
  • 171 просмотр
Пригласить эксперта
Ответы на вопрос 1
rpsv
@rpsv
делай либо хорошо, либо никак
Использовать блокировку: гарантируется запуск только 1 раз на момент блокировки:
var blocked = false;
var action = function() {
   if (blocked === true) {
      return;
   }
   blocked = true;
   // выполнение
   blocked = false;
}
action();
action();
action();
action();
action();
action();
action();
Ответ написан
Ваш ответ на вопрос

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

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