老师,做类似这样交互效果,需要做防抖处理吗?
请问老师,touchmove事件持续触发,回调函数就会一直执行,里面的运算逻辑与dom操作也一直在执行,会不会消耗太多的性能,需不需要做防抖处理?做了防抖处理,可能会提高一些性能,但是对于一些临界点的判断又不够敏感了。老师有没有好的解决方案?感谢老师
请问老师,touchmove事件持续触发,回调函数就会一直执行,里面的运算逻辑与dom操作也一直在执行,会不会消耗太多的性能,需不需要做防抖处理?做了防抖处理,可能会提高一些性能,但是对于一些临界点的判断又不够敏感了。老师有没有好的解决方案?感谢老师
2023-05-30
视情况而定,针对本课程实现的两种交互效果是不需要添加节流和防抖处理的(亦不适合),具体原因如下:
1、于交互效果而言,判断是否需要节流和防抖处理需要看该交互效果是立即触发型还是需要一定操作才可触发的类型,如果是立即触发型的交互效果可以考虑添加节流处理防止重复触发。
2、本课程针对交互效果的加载过程中这一状态都做了处理(加载锁、状态判断),这样做的好处是可以直到加载完成再允许下一次触发,而不用像节流一样等某个特定时间之后才再次触发(如果这样的话或导致很多不确定性,比如还没加载完又可以触发了,或加载完了还不能触发,故节流不适用与这两种交互效果),所以这两个交互效果的方法是不能重复触发的,也不需要做节流和防抖处理。
往往有以下场景需要节流/防抖处理:
节流:点击按钮后发起请求(防止发起多次请求)、表单提交、点击后立即开始动画(防止多次触发播放)等...
防抖:搜索建议(根据输入内容实时展示搜索建议,防止建议内容频繁改变)等...
类似的场景还有很多,这里不一一列举了,老师也正在准备一门针对特定场景的解决方案的课程,如果有兴趣的话可以期待一下,还有什么不懂的问题可以继续联系我。
举报