第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

防止長時間運行的javascript鎖定瀏覽器

防止長時間運行的javascript鎖定瀏覽器

湖上湖 2019-09-02 17:01:58
我有JavaScript執(zhí)行大量的計算以及從DOM讀取/寫入值。該頁面非常龐大,因此通常最終會鎖定瀏覽器長達(dá)一分鐘(有時更長時間使用IE),CPU占用率為100%。是否有任何資源可以優(yōu)化JavaScript以防止這種情況發(fā)生(我能找到的是如何關(guān)閉Firefox長時間運行的腳本警告)?
查看完整描述

3 回答

?
鴻蒙傳說

TA貢獻(xiàn)1865條經(jīng)驗 獲得超7個贊

如果您可以將計算算法轉(zhuǎn)換為可以迭代調(diào)用的內(nèi)容,則可以使用具有短超時值的setTimeout以頻繁的間隔釋放控制權(quán)。


例如,像這樣......


function doCalculation()

{

   //do your thing for a short time


   //figure out how complete you are

   var percent_complete=....


   return percent_complete;

}


function pump()

{

   var percent_complete=doCalculation();


   //maybe update a progress meter here!


   //carry on pumping?

   if (percent_complete<100)

   {

      setTimeout(pump, 50);

   }

}


//start the calculation

pump();


查看完整回答
反對 回復(fù) 2019-09-02
?
躍然一笑

TA貢獻(xiàn)1826條經(jīng)驗 獲得超6個贊

使用超時。


通過將循環(huán)的內(nèi)容放入單獨的函數(shù)中,并使用超時50左右的setTimeout()調(diào)用它們,javascript將產(chǎn)生對線程的控制并在稍后返回,允許UI獲得順便拜訪。


有一個很好的workthrough 這里。


查看完整回答
反對 回復(fù) 2019-09-02
  • 3 回答
  • 0 關(guān)注
  • 441 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號