js是單執行緒的,所以有些大量計算的操作會佔用執行緒資源,導致頁面卡住。
今天遇到這樣一個場景,選擇一個下拉框之後,對資料進行篩選,這個過程中有大量計算,點了selecte的option之後,option不隱藏,一直卡在那裡,直到篩選計算完成。
這個體驗非常差,於是想,能不能接觸當前執行緒的佔用,讓互動看起來流暢些?
試著用剛剛觸發的時候顯示一個loading,然後用 setTimeout(func,0), 把計算的操作放到執行緒任務佇列末尾,這樣做果然頁面操作不再卡頓了
js是單執行緒的,所以有些大量計算的操作會佔用執行緒資源,導致頁面卡住。
今天遇到這樣一個場景,選擇一個下拉框之後,對資料進行篩選,這個過程中有大量計算,點了selecte的option之後,option不隱藏,一直卡在那裡,直到篩選計算完成。
這個體驗非常差,於是想,能不能接觸當前執行緒的佔用,讓互動看起來流暢些?
試著用剛剛觸發的時候顯示一個loading,然後用 setTimeout(func,0), 把計算的操作放到執行緒任務佇列末尾,這樣做果然頁面操作不再卡頓了