Как может быть реализовано что-то эквивалентное lock
в С# в JavaScript?
Итак, чтобы объяснить, что я думаю, простой пример использования:
Пользователь нажимает кнопку B
. B
вызывает событие onclick. Если B
находится в event-state
, событие ожидает, что B
будет находиться в ready-state
до распространения. Если B
находится в ready-state
, B
заблокирован и имеет значение event-state
, тогда событие распространяется. Когда распространение события завершено, B
устанавливается на ready-state
.
Я мог видеть, как можно сделать что-то близкое к этому, просто добавив и удалив класс ready-state
с помощью кнопки. Однако проблема заключается в том, что пользователь может дважды щелкнуть кнопку в строке быстрее, чем может быть задана переменная, поэтому при некоторых обстоятельствах эта попытка блокировки не удастся.
Кто-нибудь знает, как реализовать блокировку, которая не будет работать в JavaScript?