定时调用 :setInterval(函数表达式,毫秒数); 会不停的调用,通过clearInterval()取消
var interval = setInterval(function () {
}, 1000) //循环间隔 单位ms
取消:
clearInterval(interval)
延迟调用:etTimeout(函数表达式,毫秒数),只调用一次。
var timeOut = setTimeout(function(){
console.log("延迟调用============")
wx.navigateBack()
},2000)
取消:
clearTimeout(timeOut )
倒计时两种方法均可用
简单倒计时小栗子
var loginDialog = new Object()
loginDialog.timeInit = 60
//loginDialog.delegate 倒计时界面:this对象
function setDelegate(delegate) {
loginDialog.delegate = delegate
}
// 倒计时显示可以放到loginDialog.delegate.countDown()方法中单独处理,也可以使用统一的字段显示
loginDialog.startCountTime = function startCountTime() {
loginDialog.time -= 1;
loginDialog.delegate.countDown(loginDialog.time)
// 统一字段显示: loginDialog.delegate.setData({countStr:"xx秒后重新获取",countEnd:false})
if (loginDialog.time == 0) {
loginDialog.time = loginDialog.timeInit;
loginDialog.delegate.countDown(loginDialog.time)
// 取消
clearTimeout(loginDialog.timeout)
return;
}
loginDialog.timeout = setTimeout(startCountTime, 1000);
}
module.exports = loginDialog