setInterval()不準確原因分析
setInterval是一個定時器函式,能夠每隔指定時間執行一次指定的函式或者表示式。
關於它的基本用法可以參閱JavaScript setInterval()一章節。
但是有時候此定時器函式並不準確,這是因為JavaScript是單執行緒,儘管已經到了規定的時間去執行指定的程式碼,但是可能執行佇列中還有其他程式碼需要執行。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼var startTime = new Date().getTime(); var count = 0; setInterval(function(){ var i = 0; while(i++ < 100000000); }, 0); setInterval(function(){ count++; console.log(new Date().getTime() - (startTime + count * 1000)); }, 1000);
按照理論,正常輸出值應該是1000,但實際執行結果卻不是這樣。
相關文章
- 導致代理IP驗證不準確的四種原因
- float計算不準確的替代方法
- NLPIR語義分析系統不斷提高中文分詞準確率中文分詞
- Es資料彙總不準確的問題
- ETL過程中資料精度不準確問題
- ls命令統計檔案數量不準確
- TNS監聽起不來的原因分析
- 如何準確有效偵測、分析網路流量
- DNS解析為什麼不生效?DNS解析不生效原因分析DNS
- MySQL並行複製延時時間不準確MySql並行
- iOS --NSDecimalNumber 處理計算精度不準確問題iOSDecimal
- set autotrace on 產生不準確的執行計劃
- 環境不確定性分析(轉載)
- 執行計劃不穩定的原因分析
- 不會DRF?原始碼都分析透了確定不來看?原始碼
- 為什麼php的浮點數運算不準確PHP
- 【MySQL】order by 結果不準確的問題及解決MySql
- MySQL JDBC row_count()數字不準確的問題MySqlJDBC
- 簡單分析synchronized不會鎖洩漏的原因synchronized
- 準確理解需求
- 截斷表後空間不釋放的原因分析
- JavaScript setInterval()JavaScript
- 深度解密setTimeout和setInterval——為setInterval正名!解密
- Win10系統時間不準確的解決方法 Win10系統時間不準怎麼辦?Win10
- YouGov:2/5的英國社交網民看到過不準確的內容Go
- 過擬合詳解:監督學習中不準確的「常識」
- 自定義key解決zabbix埠監聽取值不準確的問題
- 統計資訊不準確導致執行計劃走了笛卡爾積
- 足球推薦最準確網站 免費足球分析推薦網站
- 機器學習之分類:準確率機器學習
- Mybatis plus 一對多關聯查詢分頁不準確的問題MyBatis
- 徹底搞懂 PHP 變數結構體,多數文章觀點不準確PHP變數結構體
- MySQL Aborted_connects值不斷增大的可能性原因分析MySql
- 停止setInterval() 執行
- 準確率評價指標指標
- active session的準確定義!Session
- Lucene中文分析器的中文分詞準確性和效能比較中文分詞
- 電腦當機原因分析:軟體原因