lodash的debounce函數的使用


最新,在react新項目的開發中使用到了lodash類庫的debounce方法,就隨手梳理了一下此方法的方便之處

未使用debounce之前

如果不考慮使用debounce,那么在用戶連續點擊的情況之下,會在每一次點擊之后就會執行自定義函數的回調,這時如果你的回調中處理一些比較消耗內存的一些操作,或者調用接口之類,那么可能會導致阻塞甚至於項目崩潰。

例如:

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

此時的每一次點擊都會觸發dom元素的改變,如果連續點擊的情況下后果可想而知

引入debounce

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

這樣,即使用戶連續點擊,那么也只有在最后一次點擊的500ms后,真正的函數func才會觸發。

這只是對debounce的初步了解,后續更新中

 

 

 


免責聲明!

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



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