uniapp如何使用循环定时器
时间: 2024-10-10 09:05:27 浏览: 57
UniApp 中可以使用 `uni.request` 的 `interceptors` 功能结合 `setTimeout` 或者 `setInterval` 来创建循环定时任务。不过,为了保持代码简洁和组件化,推荐使用 UniApp 提供的 `uni.timer` API,它更方便管理周期性的操作。
下面是一个简单的例子,展示如何使用 `uni.timer` 创建一个每秒执行一次的计数器:
```javascript
// 定义一个全局变量来保存定时器 ID
let timerId = null;
Page({
data: {
count: 0,
},
startTimer() {
// 清除之前的定时器
if (timerId) {
uni.cancelTimer(timerId);
}
// 每隔1秒更新计数器并重新设置定时器
timerId = uni.timer.add({
interval: 1000, // 单位是毫秒
callback: function () {
this.setData({ count: this.data.count + 1 });
}.bind(this),
});
// 如果你想添加更多的回调操作,可以在这里添加
// ...
},
stopTimer() {
uni.cancelTimer(timerId);
timerId = null;
},
// 其他生命周期钩子和页面逻辑...
})
```
在这个示例中,`startTimer` 函数启动定时器,`stopTimer` 函数停止定时器。你可以根据需要调用这两个函数来控制循环是否运行。
阅读全文