1. 首页
  2. 编程语言
  3. Javascript
  4. 浅谈对于“不用setInterval,用setTimeout”的理解

浅谈对于“不用setInterval,用setTimeout”的理解

上传者: 2021-05-06 23:24:37上传 PDF文件 114.99 KB 热度 9次

JavaScript高级程序设计(第三版)22.3高级定时器中详细介绍了定时器setTimeout和setInterval,看完书后,深入理解了二者的区别,结合前辈们给我的建议“用setTimeout,不要用setInterval”,写下此文,分析这个建议的合理性。关于时间间隔,红宝书中这么说:设定一个 150ms 后执行的定时器不代表到了 150ms 代码就立刻执行,它表示代码会在 150ms 后被加入到队列中。如果在这个时间点上,队列中没有其他东西,那么这段代码就会被执行。步入正题,为何不用setInterval,因为它可能会带来两个问题:。按照定时器的时间间隔,1.2s处第二个函数func2加入到事件队列,但此时fun1正在执行,所以func2只能等待。而且,它可以保证在下一次定时器代码执行之前,至少要等待指定的间隔,避免了连续的运行。

下载地址
用户评论