zoukankan      html  css  js  c++  java
  • 浅谈 Underscore.js 中 _.throttle 和 _.debounce 的差异[转]

    看的文章来自: https://blog.coding.net/blog/the-difference-between-throttle-and-debounce-in-underscorejs

    使用场景

    只要牵涉到连续事件或频率控制相关的应用都可以考虑到这两个函数,比如:

    • 游戏射击,keydown 事件
    • 文本输入、自动完成,keyup 事件
    • 鼠标移动,mousemove 事件
    • DOM 元素动态定位,window 对象的 resize 和 scroll 事件

    文章里有个比喻很形象

    • throttle 策略的电梯。保证如果电梯第一个人进来后,15秒后准时运送一次,不等待。如果没有人,则待机。
    • debounce 策略的电梯。如果电梯里有人进来,等待15秒。如果又人进来,15秒等待重新计时,直到15秒超时,开始运送。

    评论里也很精彩:

    throttle:触发-上次动作执行时间〉大于限制时间->执行动作,记录执行时间
    debounce:触发-记录触发时间-上次动作触发时间〉大于限制时间-执行动作

    -----------

    能看明白了吧。

    throttle  : 定时定点

    debounce : 作延迟处理

  • 相关阅读:
    索引优化策略
    mysql列类型选择
    redis安装
    redis相关面试题
    aop动态代理源码分析
    JVM运行时数据区
    redis应用场景
    JPA相关知识
    技术栈
    linux上安装mysql5.6
  • 原文地址:https://www.cnblogs.com/jshare/p/6991682.html
Copyright © 2011-2022 走看看