0
用例Javascript关键事件 - 只有在重复关键事件时才会发生?
- 我有(如在FB信使)的个人或团体的列表(左侧窗格)
- 。当切换人,我加载消息(API调用)。
- 如果我快速按下箭头,那么不是为每个人进行API调用,而只想加载我暂停和等待的人。
目前我正在剔除300ms来实现这一目标。
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和非debounce
你能仅仅存储在一个物体或事物的关键事件值然后让debounce代码首先在debouncing之前检查该对象的值?就像,它的前一个关键值与当前事件值相同,然后消除,否则它不会。 – Pytth