小程序随笔16:setTimeout和setInterval的区别

在最近的学习官方文档过程中,经常用到定时的操作,一个是setTimeout,另一个是setInterval,那这两者有什么区别呢。

setTimeout

设定一个定时器,在定时到期以后执行注册的回调函数。

number setTimeout(function callback, number delay, any rest)

1、function callback 表示回调函数
2、number delay 表示延迟的时间,函数的调用会在该延迟之后发生,单位 ms。
3、any rest 表示param1, param2, ..., paramN 等附加参数,它们会作为参数传递给回调函数。
4、number 表示定时器的编号。这个值可以传递给 clearTimeout 来取消该定时。

setTimeout(()=>{
      console.info("我只执行一次")
    }, 2000)

setInterval

设定一个定时器,按照指定的周期(以毫秒计)来执行注册的回调函数。

number setInterval(function callback, number delay, any rest)

1、function callback 表示回调函数
2、number delay 表示执行回调函数之间的时间间隔,单位 ms。
3、any rest 表示param1, param2, ..., paramN 等附加参数,它们会作为参数传递给回调函数。
4、返回值number 表示定时器的编号。这个值可以传递给 clearInterval 来取消该定时。

onShow: function () {
    this.timer= setInterval(()=>{
      console.info("我循环执行")
    }, 2000)
  },

  onUnload: function () {
    clearInterval(this.timer); //取消该定时
  },

总结:
setTimeout用于延迟执行某方法或功能,单次的。
setInterval用于循环延迟执行某方法或功能,多次的,直到clearInterval取消。

你可能感兴趣的:(小程序随笔16:setTimeout和setInterval的区别)