setInterval()与setTimeout() 详细

1. setInterval() 间歇调用

setInterval(code, milliseconds);
setInterval(function, milliseconds, param1, param2, ...)
	参数								描述
code/function		必需。要调用一个代码串,也可以是一个函数。
milliseconds		必须。周期性执行或调用 code/function 之间的时间间隔,以毫秒计。
param1, param2, 	...	可选。 传给执行函数的其他参数(IE9 及其更早版本不支持该参数)。

实例:获取验证码计数器

<el-button type="button" @click="sendcode" :disabled="disabled">{{btntxt}}</el-button>

disabled : false,

sendcode() {
  send(this.mobile).then(() => {
    this.tackBtn()
  }).catch(()=>{
    this.disabled = false;
    this.valiBtn = '获取验证码';
    this.$message.success('验证码发送失败')
  })
},
tackBtn() {       //验证码倒数60秒
    let time = 60;
    this.valiBtn = time + '秒后重试';
    this.$message.success('验证码发送成功')
    let timer = setInterval(() => {
      if (time === 0) {
        clearInterval(timer);
        this.valiBtn = '获取验证码';
      } else {
      	this.disabled = true;
        this.valiBtn = time + '秒后重试';
        time--;
      }
    }, 1000);
},

2. setTimeout() 超时调用(定时调用)

setTimeout(code, milliseconds, param1, param2, ...)
setTimeout(function, milliseconds, param1, param2, ...)
	参数								描述
code/function		必需。要调用一个代码串,也可以是一个函数。
milliseconds		可选。执行或调用 code/function 需要等待的时间,以毫秒计。默认为 0。
param1, param2, 	...	可选。 传给执行函数的其他参数(IE9 及其更早版本不支持该参数)。

实例:3秒后弹出Hello World

<el-button @click="myFunction()"/>

方法一:

myFunction() {
    setTimeout(alertFunc, 3000);
}
 
alertFunc() {
    alert("Hello World");
}

方法二:

myFunction() {
    setTimeout(() => {
       this.alertFunc()
	}, 3000);
}

alertFunc() {
    alert("Hello World");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值