1.即使调用的代码报错了,setInterval会持续的调用
2.setInterval无视网络延迟。在使用ajax轮询服务器是否有新数据时,它会去一遍又一遍的发送请求,如果网络状况不良,一个请求发出,还没有返回结果,它会坚持不懈的继续发送请求,最后导致的结果就是请求堆积。 
3.setInterval不定时。如果它调用的代码执行的时间小于定时的时间,它会跳过调用,这就导致无法按照你需要的执行次数或无法得到你想要的结果。

 

解决办法:

  用 setTimeout 代替

 

参考自: setInterval的弊端和解决方案_风华绝代的博客-CSDN博客_setinterval缺点