每隔一段时间执行一次函数

224 阅读1分钟

1.setTimeout


function repeat(func,wait,times){
   return function(){
       let args=arguments;
       var handle=function(i){
            setTimeout(()=>{
               func.apply(null,args);
            },wait*i);
       }
       for(var i=0;i<times;i++){
           handle(i)
       }
   }
}

2.setTimeInterval


  function repeat(func,wait,times){
    return function(content){
        let count=0;
        let interval=setInterval(()=>{
            func(content);
            count+=1;
            if(count===times){
                clearInterval(interval);
            }
        },wait)
    }
}