lodash throttle和debounce

 https://lodash.com/docs#debounce函數

throttle(又稱節流)和debounce(又稱防抖)其實都是函數調用頻率的控制器code

throttle:將一個函數的調用頻率限制在必定閾值內,例如 1s 內一個函數不能被調用兩次。get

debounce:當調用函數n秒後,纔會執行該動做,若在這n秒內又調用該函數則將取消前一次並從新計算執行時間,舉個簡單的例子,咱們要根據用戶輸入作suggest,每當用戶按下鍵盤的時候均可以取消前一次,而且只關心最後一次輸入的時間就好了。it

lodash 對這兩個函數又增長了一些參數,主要是如下三個:配置

  • leading,函數在每一個等待時延的開始被調用lodash

  • trailing,函數在每一個等待時延的結束被調用di

  • maxwait(debounce纔有的配置),最大的等待時間,由於若是 debounce 的函數調用時間不知足條件,可能永遠都沒法觸發,所以增長了這個配置,保證大於一段時間後必定能執行一次函數時間

相關文章
相關標籤/搜索