为了账号安全,请及时绑定邮箱和手机立即绑定

setTimeout() 和 setInterval() 本质区别在哪里?

setTimeout() 和 setInterval() 本质区别在哪里?

犯罪嫌疑人X 2018-08-03 09:10:00
setInterval(function(){     run();}, 1000);function run(){    setTimeout(function(){        run();    }, 1000); }run();我想问一下,在效果上,这两个方法完全一样,但是本质上区别在哪里呢?补充一下:我想问的是在线程中这两种实现方法有什么不同之处,或者说在队列中的区别。
查看完整描述

1 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

function run(){    // 其他代码
    setTimeout(function(){        run();    }, 10000);
}run();

以上面的代码来说, 虽然设置的是10s执行一次, 但是实际时间却是需要// 其他代码的执行时间来确定
即setTimeout的间隔时间是, // 其他代码执行时间 + 10s

setInterval(function(){
    run();}, 10000);

而setInterval, 不会有上面的问题, 但是如果run()的执行时间, 操作大于10s, 那么甚至可能跳过任务


查看完整回答
反对 回复 2018-09-22
  • 1 回答
  • 0 关注
  • 729 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信