微信小程序使用setInterval实现定时执行不要使用匿名函数编写能直运行的所有程序。
微信小程序使用setInterval()实现定时执行,不要使用匿名函数的示例代码如下:
- 在wxml文件中添加一个按钮,用于触发定时执行的函数:
<button bindtap="startTimer">开始定时执行</button>
- 在js文件中定义定时执行的函数和一个计时器变量:
Page({
data: {
timer: null
},
// 定时执行的函数
doSomething: function() {
console.log("定时执行的函数");
},
// 开始定时执行
startTimer: function() {
this.data.timer = setInterval(this.doSomething, 1000);
},
// 页面卸载时清除计时器
onUnload: function() {
clearInterval(this.data.timer);
}
})
在这个示例中,点击按钮后会每隔1秒执行一次doSomething函数,控制台会输出"定时执行的函数"。当页面卸载时会自动清除计时器,防止内存泄漏。
注意:使用setInterval()时,需要注意this的指向问题。如果直接将this.doSomething传递给setInterval(),在doSomething函数内部无法访问到Page实例的属性和方法。为了解决这个问题,可以使用箭头函数或将doSomething函数绑定到Page实例。以上示例中使用的是将doSomething函数绑定到Page实例的方式。
原文地址: https://www.cveoy.top/t/topic/jaGe 著作权归作者所有。请勿转载和采集!