Làm thế nào một cái gì đó có thể tương đương với lock
C # có thể được triển khai trong JavaScript?
Vì vậy, để giải thích những gì tôi đang nghĩ, một trường hợp sử dụng đơn giản là:
Người dùng nhấp vào nút B
. B
tăng một sự kiện onclick. Nếu B
là trong event-state
sự kiện, hãy đợi B
ở trong ready-state
trước khi tuyên truyền. Nếu B
ở trong ready-state
, B
bị khóa và được đặt thành event-state
, thì sự kiện sẽ lan truyền. Khi quá trình truyền của sự kiện hoàn tất, B
được đặt thành ready-state
.
Tôi có thể thấy điều gì đó gần với điều này có thể được thực hiện như thế nào, chỉ đơn giản bằng cách thêm và xóa lớp ready-state
khỏi nút. Tuy nhiên, vấn đề là người dùng có thể nhấp vào một nút hai lần liên tiếp nhanh hơn so với biến có thể được đặt, vì vậy nỗ lực khóa này sẽ không thành công trong một số trường hợp.
Có ai biết cách triển khai một khóa không bị lỗi trong JavaScript không?