javascript之分時函數

在一些開發場景中,咱們可能會一次性向文檔中注入上千個節點,在短期內向瀏覽器中大量添加DOM節點可能會讓瀏覽器吃不消,結果每每會讓瀏覽器卡頓或吃不消,解決方案之一即是使用分時函數(timeChunk)。

timeChunk函數讓建立節點的工做分批進行,好比一秒鐘建立1000個節點,改成每一個200ms建立10個節點。具體timeChunk函數封裝以下html

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)
    }
}

應用實例見https://92node.com/article/js-fen-shi.htmlnode

相關文章
相關標籤/搜索