[英]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.