javascript中后一个间歇调用会在前一个间歇调用之前启动 setInterval(),这是为什么?

还有既然 setTimeout()可以替代setInterval(),而且更符合我们的要求,为什么还需要使用setInterval()?

阅读 3.3k
2 个回答

setIntervalsetTimeout解决的问题和使用的场景有点区别 前者用于间隔后执行,后者为延时执行。

setTimeout(fn,500),表示在500ms之后执行fn,但是只执行一次

setInterval(fn,500)则表示的是,每隔500ms执行一次,这里需要注意,不管在500ms时间内fn有没有运行完。500ms之后都将会再次执行fn

在setTimeout中的业务会被阻塞到空闲时执行,而setInterval不会受其他业务的阻塞。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题