码迷,mamicode.com
首页 > 其他好文 > 详细

使用定时器来控制一次执行的任务数量

时间:2020-06-23 18:51:49      阅读:53      评论:0      收藏:0      [点我收藏+]

标签:date   style   oda   pre   nts   ems   llb   arguments   ESS   

因为JS执行期间,浏览器不会立即出发UI更新,甚至可能新的UI更新任务不会被创建并加入到任务队列。所以应避免长时间执行JS。根据业界的研究,应避免JS允许时间超过100ms。
当允许大量的任务时,可以使用定时器来控制一次执行的任务数量。

function timedProcessArray(items,process,callback){
   var todao=item.concat();
   setTimeout(function(){
      var start= new Date();
      do {
         process(todo.shift());
      }while(todao.length>0 && (new Date()-start<50));
      if (todao.length>0){
          setTimeout(arguments.callee,25); 
      }
      else {
          callback(items);
      }
   },25);
}

 

使用定时器来控制一次执行的任务数量

标签:date   style   oda   pre   nts   ems   llb   arguments   ESS   

原文地址:https://www.cnblogs.com/lianjinzhe/p/13183739.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!