Skip to content
  • This project
    • Loading...
  • Sign in

张浩 / br-client

Global
Go to a project
Toggle navigation
Toggle navigation pinning
  • Projects
  • Groups
  • Snippets
  • Help
  • Project
  • Activity
  • Repository
  • Pipelines
  • Graphs
  • Issues 0
  • Merge Requests 0
  • Wiki
  • Network
  • Create a new issue
  • Builds
  • Commits
  • Issue Boards
  • Files
  • Commits
  • Network
  • Compare
  • Branches
  • Tags
Switch branch/tag
  • br-client
  • node_modules
  • utils-lite
  • src
  • js
  • throttle.js
  • zhanghao's avatar
    commit · 3d54f64d
    3d54f64d Browse File
    zhanghao authored 2021-04-22 10:17:54 +0800
throttle.js 447 Bytes
Raw Blame History Permalink
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
export function throttle (fn, wait, delay) {
  let timer = null
  let previous = null

  return function () {
    const self = this
    const args = arguments
    const now = Date.now()
    if (!previous) previous = now
    if (now - previous > wait) {
      fn.apply(self, args)
      previous = now
    } else if (delay) {
      clearTimeout(timer)
      timer = setTimeout(function () {
        fn.apply(self, args)
      }, delay)
    }
  }
}