Используйте случайКлючевое событие Javascript - Debouce только в случае повторного ключевого события?
- У меня есть список лица или группы лиц (как в FB мессенджера) (левая панель)
- Когда я переключаюсь человека, я загрузить сообщение (API вызова).
- Если я быстро нажимаю стрелку вниз, то вместо вызова API для каждого из людей я хочу загрузить только человека, которого я приостанавливаю и жду.
В настоящее время я занимаю 300 мс для достижения этого.
handleSwitchKeyEvent: function() { if (this.pendingLoad) { // Still pending continue to debounce clearTimeout(this.pendingLoad); fn = this.loadContent; } else { // No longer pending - So load data immediately this.loadContent(); } // Delay the load this.pendingLoad = setTimeout(function() { clearTimeout(this.pendingLoad); this.pendingLoad = 0; fn && fn.call(this); }, 300); }
Проблема
- Когда я в Сообщение1 - детали M1 загружены
- При нажатии кнопки быстрым - M2 будет загружаться, а затем де-переброска будет происходить в течение следующего сообщения)
Я хочу избежать этой нагрузки M2. Я не уверен, возможно ли даже смешивать debouce и non-debounce в том же потоке
Не могли бы вы просто хранить значение ключа события в объекте или что-то а затем, чтобы ваш код дебета сначала проверял значение этого объекта перед дебазацией? Например, это предыдущее значение ключа совпадает с текущим значением события, а затем debounces, но в противном случае оно не работает. – Pytth