在Javascript 中實現超越setTimeout() 的計時器精度
Javascript 的setTimeout() 方法在精度方面經常達不到要求,表現出不可預測的延遲,可能會影響UI 操作。因此,開發人員可能想知道是否有其他方法可以提供更可靠的計時功能。
使用 setTimeout() 獲得精確精度的不切實際
不幸的是,實現精確定位單獨使用 setTimeout() 來追求準確性是徒勞的。瀏覽器的設計初衷並不是提供如此精確的計時。外部 API 提供了解決方案,但它們引入了額外的依賴項,可能不適用於所有應用程式。
利用 True Time 進行精確計時
而不是僅僅依賴 setTimeout (),開發人員可以利用實時時鐘來確定任務何時執行。這涉及使用 setTimeout() 設定回調,但依賴 Javascript 的 (new Date()).milliseconds 方法或其等效方法。
此方法利用較新瀏覽器強大的計時器支持,同時保持與舊版本的兼容性。此外,它消除了對多個計時器的需要,透過避免回調競爭來提高效能。
平滑 UI 操作的最佳實踐
為了確保平滑的 UI 操作,開發人員應該放棄實現「一個定時器,一項任務」的設計。相反,他們應該使用計時器來處理指定時間間隔內的所有待處理任務。這種方法與即時時鐘資料的結合提供了一種更可預測和準確的計時機制,消除了強力 setTimeout() 使用的需要。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3