1,什么叫防抖、节流。场景、实现思路
场景:
自动搜索框:搜SKII,每次输入一个字母后,都发请求!这不是用户想要的。
按钮查询:不小心多点了一次,就查询2次?这也不是产品设计的想要的。
解决思路:
节流:在n秒内只执行一次 / 稀释请求频率
思路:每次触发前,先判断是否有正在执行的任务。有就不执行本次
实现:请求发出去之后,设定一个标识变量。在延时之内又被触发的话,sorry,我不接受!
Code: setTimeout( ...isAllowedRun = true... 500ms)
防抖:
思路:来一个请求之后,先把之前的清理掉。让他白跑499毫秒。
Code:clearTimeout(setTimeout(function, 500))
网友评论