概况
定时器的作用是可以实现延迟执行某段代码或周期性地执行某段代码,常见的应用场景包括动画效果、定时刷新数据、定时发送请求等。清除定时器是指取消之前设置的定时器,以防止代码在不需要执行的情况下继续执行。在JavaScript中,可以使用clearTimeout函数来清除setTimeout的定时器,使用clearInterval函数来清除setInterval的定时器。
内容
无论是setTimeout(延迟执行)还是setInterval(指定间隔重复执行),正确使用会有很大的作用,尤其是界面交互异步情况的使用,对于数据变更界面阻断显示很有作用,否则只是累赘.
1. 使用中出现的问题
- 正确封装函数使用
setTimeout(() => {//do }, 1000);
上面代码如果需要,可以这样转换
const fun = ()=>{//do... } setTimeout(fun(), 1000);//注意这种写法错误,否则不论是那个定时器(setInterval)只执行一次fun setTimeout(fun, 1000);
2.使用场景
- 对于react经常会出现反复渲染的情况,如果没有正确使用useMemo ,没用React memo把 React 组件包裹起来防止重新渲染,而过于用 useMemo把数值记忆化。可能会出现不必要的反复渲染,可以使用清除定时器取消之前设置的定时器,来防止渲染,尤其对可能出现有请求的情况,作用很重大,防止反复请求,执行不必要的执行逻辑