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

javascript之分時函數

添加 script 實例 cti 大量 val 我們 post 進行

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

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

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

javascript之分時函數