收藏
回答

页面跳转之后之前页面的定时任务还在运行,请问怎么解决?

A页面 在onShow 方法 启动了一个定时器刷新订单数据,在onHide和onUnLoad的时候都会clear,定时任务为延时启动也就是

然后在A和B页面快速切换的时候会出现在B页面显示的时候A页面的定时运行的情况,请问各路大神怎么解决?有没有解决的思路?

附上代码

/**

  * 启动定时器

  */

time: function (data) {

let that = this;

setTimeout(function () {

that.data.timer = setInterval(function () {

that.getSnatchOrderList(data);

}, that.data.interval);

}, that.data.delayTime);

},


最后一次编辑于  10-11
回答关注问题邀请回答
收藏

2 个回答

  • 拾忆
    拾忆
    10-11

    B 页面 获取 A页面的 data 进行清除定时器  getCurrentPages

    10-11
    赞同 1
    回复 1
    • 刘彬
      刘彬
      10-21
      谢谢
      10-21
      回复
  • 初心
    初心
    10-11

    请在Page外定义定时器    

    that.data.timer = setInterval(function () {

    that.getSnatchOrderList(data);

    }, that.data.interval);

    你这种方式会出问题的     如果在外面定义还是解决不了的话     提供一个代码片段给我

    10-11
    赞同
    回复 1
    • 刘彬
      刘彬
      10-21
      谢谢  测试了下,没有解决问题,通过页面判断解决了
      10-21
      回复
问题标签