javascript之分時函數
阿新 • • 發佈:2018-02-19
添加 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之分時函數