通過setTimeout來取消因大量計算造成的網頁卡頓

桃子夭夭發表於2015-01-07

js是單執行緒的,所以有些大量計算的操作會佔用執行緒資源,導致頁面卡住。

今天遇到這樣一個場景,選擇一個下拉框之後,對資料進行篩選,這個過程中有大量計算,點了selecte的option之後,option不隱藏,一直卡在那裡,直到篩選計算完成。

這個體驗非常差,於是想,能不能接觸當前執行緒的佔用,讓互動看起來流暢些?

試著用剛剛觸發的時候顯示一個loading,然後用   setTimeout(func,0),  把計算的操作放到執行緒任務佇列末尾,這樣做果然頁面操作不再卡頓了

相關文章