递归调用,错误代码写法
startReportHeart() {
var timerTem = setTimeout(function () {
that.heartReport();
}, app.globalConfig.heart_delay)
// 保存定时器name
that.setData({
timer: timerTem
})
})
that.startReportHeart()
},
5秒后开始执行,heartReport获取位置信息,此时直接递归调用自己,再开启一个timer,瞬间出现了堆栈溢出
正确递归调用
在setTimeout中调用自身
startReportHeart() {
var timerTem = setTimeout(function () {
that.heartReport();
that.startReportHeart()
}, app.globalConfig.heart_delay)
// 保存定时器name
that.setData({
timer: timerTem
})
},