我可以在JavaScript中更改事件队列优先级吗?

时间:2008-11-11 19:34:16

标签: javascript event-handling event-queue

发生错误时我需要播放明显的声音。该错误是在快速射击中输入可能有200个条形码之一的问题的结果。事件队列似乎首先处理键盘输入(条形码扫描器模拟),然后播放我的声音。因此,如果快速扫描条形码,则错误声音将保留在队列中,并在下次扫描时被撞击。

我可以操纵队列的优先级吗?

3 个答案:

答案 0 :(得分:1)

Javascript不是多线程的,因此选项2不起作用。我怀疑你所说的事件队列是操作系统的事件队列,如果有的话,它不太可能从浏览器访问。

除此之外,我在理解你的问题时遇到了一些麻烦。什么是发出错误声音?它是一个keyup等事件,还是一个返回错误代码或其他东西的服务器端验证?

答案 1 :(得分:1)

我可以从您的问题中猜出用户在听到错误声音时停止扫描。如果这是真的,为什么要等待用户停止扫描。

您可以执行以下任何操作。

一旦发生错误,请立即停止输入数据。你可以设置'keypress'来返回false。你也可以在keypress事件上设置一个缓冲区,它首先存储输入数据,然后返回false。这样,您将在发生错误后获得数据。

答案 2 :(得分:0)

如果您尝试延迟扫描(使用setTimeout()),允许声音在它们之间开始和结束,该怎么办?