setTimeout和setInterval不同

Thi*_*80s 0 javascript

setTimeout和setInterval有什么区别,例如,在UI进程中长时间运行的函数?

  setTimeout(function(){
    /* Some long block of code... */
  }, 10);

  setInterval(function(){
    /* Some long block of code... */
  }, 10);
Run Code Online (Sandbox Code Playgroud)

如果执行时间较长,则执行时间大于setTimeout或setInterval以设置时间

mrk*_*mrk 5

setTimeout运行一次,当你要么使用时很好

  1. 只想跑一次
  2. 或每次调用的运行时是可变的,您需要按顺序进行调用

setInterval将一直运行,直到您调用clearInterval来取消.

因此,对于长时间运行的进程,最好使用setTimeout然后让setTimeout处理程序再次调用setTimeout以保持循环运行.

编辑 带有setInterval的问题是,如果运行时间超过10毫秒(在您的情况下),则可以删除下一个调用.