在小程序的首页,有一块数据,我是需要实时更新的,所以我就用了定时器。每隔一秒调用一次。但是当我跳转到别的页面时,不想再调用,这时就要清除定时器。
代码如下:
//主页
var data111 = require("../../app.js");
const app = getApp();
Page({
data: {
timerTask:null,
},
//获取指数
getIndex: function () {
var that = this;
wx.request({
url: app.globalData.apiPath + '要调用的api',
method: "POST",
data: "",
success: res => {
//成功回调函数
}
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
var that = this ;
that.setData({
timerTask:setInterval(function(){
that.getIndex()
},1000)
})
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
//写在onHide()中,切换页面或者切换底部菜单栏时关闭定时器。
clearInterval(this.data.timerTask)
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
})
我看到别的博主说将清除定时器事件放到onUnload函数里,对我来说没有用。
欢迎交流!