lodash的debounce函数的使⽤
最新,在react新项⽬的开发中使⽤到了lodash类库的debounce⽅法,就随⼿梳理了⼀下此⽅法的⽅便之处
未使⽤debounce之前
如果不考虑使⽤debounce,那么在⽤户连续点击的情况之下,会在每⼀次点击之后就会执⾏⾃定义函数的回调,这时如果你的回调中处理⼀些⽐较消耗内存的⼀些操作,或者调⽤接⼝之类,那么可能会导致阻塞甚⾄于项⽬崩溃。
例如:
window.addEventListener('click', function (event) {
var p = ateElement('p')
p.innerHTML = 'trigger'最新的react面试题
document.body.appendChild(p)
})
此时的每⼀次点击都会触发dom元素的改变,如果连续点击的情况下后果可想⽽知
引⼊debounce
window.addEventListener('click', debounce(function (event) {
var p = ateElement('p')
p.innerHTML = 'trigger'
document.body.appendChild(p)
return 'aaaa'
}, 500))
这样,即使⽤户连续点击,那么也只有在最后⼀次点击的500ms后,真正的函数func才会触发。
这只是对debounce的初步了解,后续更新中
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论