首先計時器中的開關問題
開關問題
- 開關只有兩種結果 開和關 開-對應true 關-對應false
定時器的疊加問題
為什么會疊加?
連續點擊的時候,會開啟很多計時器,當3秒的時候,這些計時器同時向任務隊列提交任務,event loop是一個不斷循環的過程,找到任務就執行,沒有時間間隔。
解決辦法
再開啟當前計時器的時候,清除前面的計時器任務。連續點擊,保證最后一次點擊的任務執行,前面點擊開啟的任務都被清除了。這種解決辦法叫函數防抖。
函數節流:無論用戶怎么觸發,代碼還是按照一定的規矩,有序的執行。
比如 我們點擊按鈕 每三秒發送一次請求,無論怎么點擊,都是三秒執行一次。