最佳答案
如何在 JavaScript 中实现类似于 C # 中 lock
的东西?
所以,为了解释我认为的一个简单的用例是:
用户点击按钮 B
。B
引发 onclick 事件。如果 B
在 event-state
中,则事件在传播之前等待 B
在 ready-state
中。如果 B
在 ready-state
中,则 B
被锁定并设置为 event-state
,然后事件传播。当事件的传播完成时,B
被设置为 ready-state
。
我可以看到类似的事情是如何完成的,只需要从按钮中添加和删除类 ready-state
。但是,问题在于用户可以比设置变量更快地在一行中单击两次按钮,所以这种锁定尝试在某些情况下会失败。
有人知道如何在 JavaScript 中实现一个不会失败的锁吗?