说明:

若果是普通的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); //取消定时任务

}

}); 

  

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐