漫谈防抖和节流的应用
发布于 6 年前
约 1 分钟阅读
防抖节流在很多需要限制操作频率的地方会用到。常见的应用场景就是竞技游戏。
游戏中的施法前摇就是使用了防抖。施法 CD 就是使用了节流。
在 DOTA 游戏中,撼地神牛的沟壑施法时需要把图腾取出来然后抡下来出现沟壑,这样技能才算施放完成。从开始施法都施放完成需要 0.69s。这个就是施法前摇。
在施法前摇的过程中,可以通过按 S 键打断施法,这时技能未能施放,不会进入 CD。
当施放完成后技能就会进入 15s 的 CD 期,等到 CD 完成后才可以继续施放技能。
前端中的防抖和节流
在前端中,防抖经常会被用到异步结果搜索上。当持续输入关键字时不会触发搜索,只有当停止输入一段时间之后才会触发。类比于游戏,相当于在施法前摇期间打断并重新施法。
节流经常被用在短信验证码上,例如设置了 60s 的间隔。那么每 60s 最多发送一条验证码,和每 60s 最多施放一次技能同理。
防抖和节流使用上的区别
从游戏这个案例中,我们可以发现防抖主要是侧重于当前的操作,例如游戏中神牛手抖按到了 F 键,这个时候其实可以通过 S 键中断这次施法。在异步结果操作中输错了关键字,可以使用删除键删掉关键字。
节流更关注的是下一次的操作,设置了固定 CD 可以保证在 CD 期间使用不了技能。在登录注册操作中,我们会在点击按钮之后禁用这个按钮,其实这也是一种节流的行为,相当于设置了一个无限长的 CD。
通过游戏这个例子,我们也可以看出,其实防抖和节流是可以一起使用的。
- 前端中的防抖和节流
- 防抖和节流使用上的区别
除特别注明外,所有文章均采用 Creative Commons BY-NC-ND 4.0(自由转载-保持署名-非商用-禁止演绎)协议 发布