1. 程式人生 > >javascript之分時函式

javascript之分時函式

在一些開發場景中,我們可能會一次性向文件中注入上千個節點,在短時間內向瀏覽器中大量新增DOM節點可能會讓瀏覽器吃不消,結果往往會讓瀏覽器卡頓或吃不消,解決方案之一便是使用分時函式(timeChunk)。

image.png timeChunk函式讓建立節點的工作分批進行,比如一秒鐘建立1000個節點,改為每個200ms建立10個節點。具體timeChunk函式封裝如下:

function timeChunk( arr, fn, count){//arr 陣列 fn操作函式 count每次運算元量
 var obj,
 t;
 var start = function(){
 var len = Math.min(count||1,arr.length);
 for(var i=0; i < len; i++){
 obj = arr.shift();
 fn(obj)
 }
 };
 return function(interval){
 t = setInterval(function(){
 if(arr.length==0){
 return clearInterval(t)
 };
 start();
 },interval||200)
 }
}
//歡迎加入全棧開發交流群一起學習交流:619586920

對web開發技術感興趣的同學,歡迎加入Q群:864305860,不管你是小白還是大牛我都歡迎,還有大牛整理的一套高效率學習路線和教程與您免費分享,同時每天更新視訊資料。 最後,祝大家早日學有所成,拿到滿意offer,快速升職加薪,走上人生巔峰。