Я пытаюсь создать регулятор громкости с помощью поля ввода диапазона (jQuery) и socket.io.
Я использую этот код для настройки громкости на всех прослушивающих устройствах.
socket.on("setVolume", function (data) {
$("#range").val(data);
});
$("#range").change(function() {
socket.emit("setVolume", $("#range").val());
});
Когда я на некоторое время перетаскиваю поле ввода диапазона, я замечаю, что очередь дел, похоже, накапливается.Какова лучшая стратегия для достижения адаптивного интерфейса при сохранении максимально возможной частоты обновления?
Я пытался сделать:
var timer;
$("#range").change(function() {
window.clearTimeout(timer);
timer = window.setTimeout(function() {
socket.emit("setVolume", $("#range").val());
},10);
});
Но это заставляет его чувствовать себя очень вяло.
Каков наилучший способ обработки большого количества таких данных?