前端搜索优化,到底选择“防抖”还是“节流”?
前言
大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心~
这几个月面试前端的时候,我总会问一个问题:防抖和节流各自的应用场景是什么?
大部分的前端面试者都会说:搜索可以用防抖来优化
对于此种现象,我在想:现在大部分前端都默认使用防抖来优化搜索了吗?
防抖 & 节流
我们先来个老生常谈的问题:什么是防抖?什么是节流?
什么是防抖(debounce)?
防抖
是用来防止用户短时间内多次重复操作造成性能消耗~
当用户短时间内多次重复操作时,防抖
会让使得只执行最后一次的操作
通常防抖
就是单纯为了防止重复操作,不关心过程中的操作,不关心过程的连贯性,只要确保最后有一次操作即可~
什么是节流(throttle)?
节流
也是用来方式用户短时间内多次重复操作造成性能消耗的
但是节流
跟防抖
不同的是,节流
是会只会限制每段时间内只执行一次
通常防抖
在节省性能的同事,也比较关注过程的连贯性
搜索?防抖还是节流?
我觉得搜索要优化的话是要用节流
的,因为用户在不断输入关键词的过程中,应该要不断地去展示当前搜索到的内容
如果你的服务器够强大的话,甚至可以连防抖都不用做,直接就放开
最好的例子就是百度搜索,前端完全不做防抖的优化
结语
我是林三心,感谢您的阅读~