debounce
函数和 throttle
函数都是前端工具库中的常用函数,用于性能优化。大家常用的版本来自于 lodash
,我现在项目选用的工具库是 Ramda.js
,它是一个函数式编程库,并没有现成的方法。此文提供了 Ramda.js
版本的 debounce
和 throttle
React Hooks 函数,并提供了单元测试。
- debounce 函数:防抖函数,在一段时间内,只执行一次函数,在这段时间内,如果函数被重新触发,则从重新计时。
- throttle 函数:节流函数,每隔一段时间,只执行一次函数,函数的执行频率只能是指定的频率。