收藏
回答

小程序定时轮询,有时没有清除到定时器(如直接关闭),导致再次进入小程序时,登录界面一直刷新?

下面是代码,麻烦有了解的告知下我

回答关注问题邀请回答
收藏

3 个回答

  • 微盟
    微盟
    2021-06-28

    页面生命周期不是还有 onUnload 么, 没有销毁定制器可能是onHide没有触发。在这里也加一下。就统一了销毁和后台隐藏两种场景,试试看。

    他们对应的onLoad和onShow么不是

    2021-06-28
    有用 1
    回复 2
    • YyJjHh
      YyJjHh
      2021-06-28
      好,我基本没用过onUnload周期
      2021-06-28
      回复
    • 微盟
      微盟
      2021-06-28回复YyJjHh
      嗯嗯,而且不同的用户操作行为,确实可能会执行不同的生命周期的
      2021-06-28
      回复
  • 星光刀锋
    星光刀锋
    2021-06-28

    使用settimeout,然后在settimeout中回调该函数,回调之前先cleartimeout

    function test(){

    clearTimeout(this.timeout)

    this.timeout=setTimeout(()=>{

    test()

    },1000)

    }


    2021-06-28
    有用
    回复 5
    • YyJjHh
      YyJjHh
      2021-06-28
      setTimeout需要清除吗?不是就只会延迟执行一次啊?
      2021-06-28
      回复
    • 星光刀锋
      星光刀锋
      2021-06-28回复YyJjHh
      你觉得有影响就cleartimeout,没有影响就不cleartimeout
      2021-06-28
      回复
    • YyJjHh
      YyJjHh
      2021-06-28回复星光刀锋
      我上面那个代码那么写,也可以正常轮询,但就是有时重新登陆的时候,他的那个定时器就没有被清除,再加上我写了个拦截判断登录,没登录就让他进入登录界面,所以这个登录界面就一直重新加载一直闪。。。按着你说的改了下,等下看看效果吧
      2021-06-28
      回复
    • 星光刀锋
      星光刀锋
      2021-06-28回复YyJjHh
      好的
      2021-06-28
      回复
    • YyJjHh
      YyJjHh
      2021-06-28回复星光刀锋
      还是不行,下午又出现那种情况了
      2021-06-28
      回复
  • YyJjHh
    YyJjHh
    2021-06-28

    急急急!!!

    2021-06-28
    有用
    回复
登录 后发表内容