requestIdleCallback示例-timeRemaining

源代码展示

代码

JS初始化
				
//核心代码,全部代码请直接查看源码

function rIC(cb){
    requestId = requestIdleCallback(cb);
}

function _cb1(){

    var i = 0,
        len = 5;

    info.html("");

    function _s(){
        if(i < len){
            add("i="+i);
            rAF(_s);
            i++;
        }
    }
    
    //引入两个
    rIC(cb1);
    rIC(cb2)
    
    rAF(_s);
}
$("#btn1").on("click",_cb1);
    
function _cb2(){
    
    var flag = 0,
        len = 5,
        eLen = 1000;
    
    info.html("");
    
    add("毎帧内处理"+eLen+"个循环!");
    
    function _s(){
        if(flag >= len){
            return "";
        }
        var i = 0;
    
        for(i;i < eLen;i++){
            console.log("i="+i);
        }
        
        flag++;
        
        add("第"+flag+"帧");
        
        rAF(_s);
    }
        
    rIC(cb1);
    rIC(cb2)
        
    rAF(_s);
}
$("#btn2").on("click",_cb2);
				
			

展示

requestIdleCallback测试(timeRemaining)

rAF期间,添加了两个rIC