美文网首页
分时函数

分时函数

作者: yongningfu | 来源:发表于2017-03-20 17:51 被阅读0次

分时函数
为了避免js一下子执行太多的任务,我们使用分时函数进行,每个一段
时间执行一次任务,直到所有的任务执行完,这个的话,在许多大数据量渲染等场景会使用

分时执行的任务数据,分时执行的逻辑函数,每次执行的数量, 和时间间隔


var timeChunk = function(dataArray, fn, count, duration) {
  var timer;
  var length = dataArray.length;
  var isRunning = false;   //防止重复
  var eachExecute = function() {
    for(var i = 0; i < Math.min(count || 1, dataArray.length); i++) {
      var obj = dataArray.shift();
      fn(obj); //每次实际执行操作
    }
  }

  return function() {
    if (isRunning) return;
    isRunning = true;
    timer =setInterval(function() {
      if (dataArray.length == 0) {
        clearInterval(timer);
        isRunning = false;
      }
      eachExecute();
    }, duration);
  }
}


var render = timeChunk(new Array(10), function() {console.log('render')}, 5, 1000);
render();
render();

相关文章

  • 分时函数

    分时函数为了避免js一下子执行太多的任务,我们使用分时函数进行,每个一段时间执行一次任务,直到所有的任务执行完,这...

  • javascript之分时函数

    在一些开发场景中,我们可能会一次性向文档中注入上千个节点,在短时间内向浏览器中大量添加DOM节点可能会让浏览器吃不...

  • 函数节流和分时函数

    1.函数节流 函数的触发不是由用户来控制的,当函数被非常频繁调用时,会造成大的性能问题 window.onsize...

  • 如何让进行代码重构?

    提炼函数 在JavaScript开发中,我们大部分时间都在与函数打交道,所以我们希望这些函数有着良好的命名,函数体...

  • 高阶函数--实现AOP,函数节流,分时函数,惰性加载函数

    高阶函数是指至少满足下列条件之一的函数。 函数可以作为参数被传递; 函数可以作为返回值输出。 JavaScript...

  • 代码重构(一)

    1.提炼函数 在JavaScript开发中,我们大部分时间都在与函数打交道,所以我们希望这些函数有着良好的命名,函...

  • 函数周期表丨时间丨值丨时间类函数

    时间类提取函数 本期呢,白茶决定把一部分时间函数放在一块讲了,因为这些函数的作用和函数的语法都是差不多的。包括以下...

  • axios 接受 base64 图片

    首先设置img标签 data()函数设置 methods函数 注意:在写axios部分时一定要按照上面部分写,如果...

  • 曲面积分和曲线积分为什么可以直接代入表达式?

    曲线/曲面积分时,方程都是在边界的,不包括里面空间的部分 所以当被积函数在曲线方程上时,可以直接代入 重积分时,方...

  • js事件函数问题

    事件标签内引入js函数分号(;)使用问题 问题描述:在复习到前端的js部分时,看到事件句柄调用事件处理函数时,有的...

网友评论

      本文标题:分时函数

      本文链接:https://www.haomeiwen.com/subject/qtmpnttx.html