美文网首页
节流函数的不同实现

节流函数的不同实现

作者: 惟允 | 来源:发表于2018-05-29 09:29 被阅读0次

节流函数的不同实现

限定最短执行间隔

const throttle = (func, wait = 1000) => {
  let time = new Date().valueOf()
  return () => {
    const now = new Date().valueOf()
    if (now - time > wait) {
      func()
      time = now
    }
  }
}

这样做的好处是可以限定两次调用的最短间隔,但缺点也很明显,函数的响应变的卡顿。

使用 requestAnimationFrame 实现

const throttle = (action) =>  {
  let isRunning = false
  return () => {
    if (isRunning) return
    isRunning = true
    window.requestAnimationFrame(() => {
      action()
      isRunning = false
    })
  }
}

通过 requestAnimationFrame 实现就可以避免两次调用的卡顿,使节流后的函数调用依然流畅。

相关文章

  • 节流函数的不同实现

    节流函数的不同实现 限定最短执行间隔 这样做的好处是可以限定两次调用的最短间隔,但缺点也很明显,函数的响应变的卡顿...

  • 手写代码系列(持续更新)

    1、手写instanceOf的实现原理 2、手写节流和防抖函数 2.1 节流函数 节流函数原理:规定在一个单位时间...

  • 节流函数及其应用

    建议使用 lodash 插件里面的 throttle 函数来实现 1、节流函数简单原理 2、节流函数的应用

  • 性能优化

    1.实现一个防抖函数 2.实现一个节流函数

  • 节流函数的实现

    节流函数(throttle) 上一篇文章说了防抖函数的实现,其实着两个函数是类似的,都可以实现性能优化,那么如何抉...

  • JS实现节流函数,防抖函数

    节流函数(throttling fountion)和防抖函数(debouncing fountion)都是为了实现...

  • 手写实现系列

    实现 new 方法 Object.create 的实现原理 实现数据绑定 深拷贝 防抖函数 节流函数 冒泡排序 快速排序

  • 节流函数的应用场景

    vue实现输入框的模糊查询(节流函数的应用场景) 上一篇讲到了javascript的节流函数和防抖函数,那么我们在...

  • js节流函数

    JS节流函数 1. 节流函数的定义 2. 节流函数的用法

  • iOS中的Throttle(函数节流)与Debounce(函数防

    通过OC实现的两个函数 参考文章: iOS中的Throttle(函数节流)与Debounce(函数防抖)

网友评论

      本文标题:节流函数的不同实现

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