您的位置:首页 > 移动开发 > 微信开发

关于微信小程序清除页面定时任务问题

2019-01-24 14:44 190 查看

说明:

若果是普通的js页面,直接如下:

定时任务1:  

var name= setTimeout(

           alert("hello JS"),1000

     ); 

关闭定时任务:clearTimeout(name);

 

定时任务2:

   

var name= setInterval(

           alert("hello JS"),1000

     ); 

 

关闭定时任务:

clearInterval(name);

如果是微信小程序页面则不能这样子,因为微信小程序页面有生命周期这一概念,所以关闭小程序页面的定时任务

会有多处需要进行关闭:

代码如下:

 

 

page({

    data:{

       timeName:'',    // 此处给定时任务变量初始化值为null

  }  ,

 

/**

* 生命周期函数--监听页面显示

*/

onShow: function() {

            var that = this;

           var status= '';

           var timeName= setInterval(function() {

           wx.request({

                       url: '',

                       data: {

                       id: that.data.orderId,

                              },

                      header: {

                      'content-type': 'json'

                                   },

                     method: 'GET',

                     dataType: 'json',

                     success: function(res) {

                         status: res.data.data.status;

                         if (status == 1) {         

                                wx.navigateTo({//此处页面跳转路径

                                 url: '.',

                     })

                         clearInterval(timeName); //取消定时任务

                   }

},

fail: function(res) {

       wx.showModal({

                title: '提示',

                content: res.data.msg,

                      })

            },

   })

}, 30000);

   that.setData({

          timeNamer: timeName

         });

   },

 

 

/**

* 生命周期函数--监听页面隐藏

*/

onHide: function() {

var that = this;

clearInterval(that.data.timeNamer); //取消定时任务

},

/**

* 生命周期函数--监听页面卸载

*/

onUnload: function() {

var that = this;

clearInterval(that.data.timeNamer); //取消定时任务

}

}); 

 

 

 

 

  

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: