如何精確控制js程序執行時間

//遇到問執行耗時js
//精確控制執行時長
console.time("count1");  //計時開始
  var start = new Date().getTime();
do{
  var end = new Date().getTime();
}while(end-start<=2000);
console.timeEnd("count1");//計時結束
postMessage("執行結束");//worker線程向UI發送數據

chrom:中線程模型:請求資源線程—多個
運行js代碼,渲染頁面內容-1個

<button>按鈕1</button>
<script src=”1.js”></script>
<button>按鈕2</button>

解決方案:
1.將執行耗時的js程序放在底部進行執行
2.創建一個併發新線程,讓它來執行耗時js任務。
代碼:

//var w1=new Worker(參數運行js地址);
<script>
	var w1=new Worker("**.js");
</script>

#瀏覽器不允許Worker線程中操作(代碼)不能有任何DOM和BOM對象.
原因:瀏覽器只允許UI線程操作DOM/BOM,若多個線程同時來操作DOM和BOM頁面混亂.所以類似JQUERY也不能使用Worker中.

(1)UI線程發送數據給Worker

  woker(收)
  onmessage = function(e){e.data}
  ui(發)
  var w6 = new Worker(“6.js”);
  w6.postMessage(stringmsg);

(2)Worker線程發送數據UI

UI(收數據)
   var w6 = new Woker(“6.js”);
   w6.onmessage = function(e){
    e.data..
}

Woker(發數據)
 postMessage(執行結束);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章