lodash的debounce函數


先簡單介紹一下debounce,從最簡單的一個場景入手,當用戶不斷點擊頁面,短時間內頻繁的觸法點擊事件,只有在用戶觸法事件后的ns時間內,沒有再觸法事件,真正的監聽函數才會執行,如果在這段時間內再次觸法了事件,就需要重新計算這個ns。

debounce最主要的作用是把多個觸法事件的操作延遲到最后一次觸法執行,在性能上做了一定的優化。

 

不使用debounce

window.addEventListener('click', function (event) {
  var p = document.createElement('p')
  p.innerHTML = 'trigger'
  document.body.appendChild(p)
})

 

使用debounce

window.addEventListener('click', debounce(function (event) {
    var p = document.createElement('p')
    p.innerHTML = 'trigger'
    document.body.appendChild(p)
    return 'aaaa'
}, 500))

 

更多看這個文章吧

https://segmentfault.com/a/1190000015312430

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM