promise版 函式節流

2021-08-14 15:45:57 字數 725 閱讀 9797

/**

* @function promise版 函式節流 (函式裝飾器)

* @param fn 要節流的函式

* @param delay 節流時間(毫秒)

* @param mustrundelay 必須執行的時間間隔(毫秒)(用於拖拽等,防止閃跳)

* @return function 處理過的已節流的函式

*/function

throttle

(fn, delay, mustrundelay)

else

if(firstrun)

else

, delay);}

});}

;}

引數說明:mustrundelay 在此時間內必須執行一次,常用於拖拽等在一段時間內必須執行的情況。

假如不設此引數,就可能出現拖拽時從一點閃跳到另一點,沒有拖動過程的情況。

樣例

// 原未節流函式

const

onclick

=function()

// onclickthrottle 就是節流處理過的函式

const onclickthrottle =

throttle

(onclick,

2000

);

javascript函式節流

應用場景 實時輸入檢測 如根據使用者輸入文本來實時查詢資料 判斷註冊使用者名稱是否重複 郵箱格式檢驗 頁面滾動操作onscroll事件 頁面視窗大小改變onresize事件 滑鼠移入移出事件onmouseover,onmouseout 對於以上高頻率的執行操作來說如果不進行節流控制的話,一旦請求頻繁...

JavaScript 函式節流

個人理解 瀏覽器某個事件觸發的平率非常高 例如onscroll事件 如果每次都去執行處理事件的邏輯,消耗大量的cpu資源導致瀏覽器卡死,因此需要在一段時間內只執行最後一次函式的函式叫做函式節流。n 0 function resizehandler function throttle method,c...

函式節流總結

函式節流 在呼叫window.onresize事件時,如果操作頻繁操作dom極為耗效能,因此在這種情況下可以通過定時器對該函式進行節流。函式節流背後的基本思想是 某些 不可以在沒有間斷的情況連續重複執行。第一次呼叫函式,建立乙個定時器,在指定的間隔之後執行 第二次呼叫函式,它會清除前一次的定時器並設...