今天做小程序时,需要用到本地定时,果断使用settimeout这个函数
setTimeout(code,millisec)
参数 描述
code 必需。要调用的函数后要执行的 JavaScript 代码串。
millisec 必需。在执行代码前需等待的毫秒数。
于是代码是这样的
checkTime: function (time){
console.log(time)
time++
var timer = setTimeout(this.checkTime(time),1000)
}
用起来忽然发现,一下子卡死了,死循环了吗?于是调啊调
checkTime: function (time){
console.log(time)
time++
var timer = setTimeout(function(){
this.checkTime(time)
},1000)
}
使用这种方式,却发现提示这个
闭包找不到this吗?好办,试试that
checkTime: function (time){
console.log(time)
time++
var that = this
var timer = setTimeout(function(){
that.checkTime(time)
},1000)
}
成功搞定
还有一种写法
checkTime: function (time){
console.log(time)
time++
var timer = setTimeout(res=>{
this.checkTime(time)
},1000)
}
最终使用了这种写法,方便
本文为刘杨哥原创文章,转载无需和我联系,但请注明来自刘杨哥博客https://liuyangge.com
wenroule:我就试试
2018-04-10 16:19:01 回复