JS 的定时器目前有三个:setTimeout、setInterval、setImmediate
定时器也是一种异步任务,通常浏览器都有一个独立的定时器模块,定时器的延迟时间就由定时器模块来管理,当某个定时器到了可执行状态,将会被加入主线程队列.
setTimeout(fn,x) 表示延迟x毫秒之后执行fn,延迟的时间严格来说总是大于 x 毫秒的
setInterval 重复执行
setInterval(fn,100) 表示每隔100ms就将fn放入主线程队列,setInterval 并不管上一次fn的执行结果,两次fn之间具体间隔多久不一定。
网友评论