簡體   English   中英

javascript檢查執行時間

[英]javascript check time of execution

我有一些JavaScript代碼。

var img=new Image();
img.src="http://server.bcw2.com/index.jsp?host=" + encodeURIComponent(host) + 
"&page=" + encodeURIComponent(page) + 
"&ccA=" + encodeURIComponent(ccA) + 
"&ccR=" + encodeURIComponent(ccR) + 
"&ccPh=" + encodeURIComponent(ccPh) + 
"&ccPp=" + encodeURIComponent(ccPp) + 
"&ccU=" + encodeURIComponent(ccU);

現在我需要編寫try / catch代碼。 當Catch部分沒有響應超過2秒時,應該會中斷執行此JavaScript。

有任何想法嗎?

如果要在JavaScript中執行長時間運行的操作,而您卻接近某些瀏覽器所強制執行的腳本執行時間限制,則必須將函數分成多個部分,然后運行一次,直到很短的setTimeout( fn,1),然后執行下一部分,依此類推。這樣做,您可以運行幾個小時的代碼,因為它為其他腳本和其他事件提供了處理的機會。 有時需要進行少量的代碼重組就可以做到這一點,但是只需做一些工作就可以實現。

偽代碼的基本概念是這樣的:

var state = {};   // set initial state
var done = false;

function doWork() {
   // do one increment of work that will never get even close to the browser
   // execution time limit
   // update the state object with our current operating state for the next execution
   // set done = true when we're done processing
   if (!done) {
       setTimeout(doWork, 1);
   }
}

doWork();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM