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");
}