Могу ли я изменить приоритет очереди событий в JavaScript?
Мне нужен отчетливый звук для воспроизведения при возникновении ошибки. Ошибка является результатом проблемы с одним из двухсот штрих-кодов, которые вводятся при быстром пожаре. Очередь событий, кажется, обрабатывает ввод с клавиатуры (который эмулирует сканер штрих-кода) в первую очередь, а затем воспроизведение моего звука. Таким образом, если штрих-коды сканируются быстро, звук ошибки остается в очереди, что отражается при следующем сканировании.
Можно ли манипулировать приоритетом очереди?
3 ответа
Javascript не является многопоточным, поэтому вариант 2 не будет работать. И я подозреваю, что очередь событий, о которой вы говорите, - это очередь событий ОС, которая вряд ли доступна из браузера, если вообще существует.
Кроме того, у меня возникли небольшие проблемы с пониманием вашей проблемы. Что такое звук ошибки? Это keyup
и т. д. или это проверка на стороне сервера, которая возвращает код ошибки или что-то еще?
Из вашей проблемы я могу догадаться, что пользователь прекращает сканирование, когда слышит звук ошибки. Если это правда, зачем ждать, пока пользователь остановит сканирование.
Вы можете выполнить любое из следующих действий.
Как только возникнет ошибка, прекратите ввод данных. Вы можете установить "нажатие клавиши", чтобы вернуть ложь. Также вы можете установить буфер для события нажатия клавиши, который сначала сохраняет входные данные, а затем возвращает false. Таким образом, вы будете данные после возникновения ошибки.
Что делать, если вы пытаетесь отложить сканирование (используя setTimeout()
), позволяя звукам начинать и заканчивать между ними?