收藏
回答

微信小程序 setTimeout()延时到了后, 会自己关闭吗?

微信小程序 setTimeout()延时到了,执行完回调函数后, 会自己关闭吗?还是需要自己手动clearTimeout() ?


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

5 个回答

  • A黑色低调
    A黑色低调
    04-01

    尽量在页面卸载的时候清除下定时器,因为有可能有的用户在你计时的时候已经关闭页面了,如果再次开启页面开启了定时器,有可能导致定时器重叠问题。

    04-01
    有用
    回复
  • 默
    04-01

    不用清除

    在使用前和页面卸载的时候清除一次即可

    04-01
    有用
    回复
  • 风清雾散云开见日出
    风清雾散云开见日出
    04-01

    setTimeout只会执行一次,不过为了安全考虑,最好做个闭合,在初始化页面的时候调用clearTimeout或者每次执行setTimeout的时候先执行一次clearTimeout

    04-01
    有用
    回复
  • 那一抹笑😃 穿透阳光
    那一抹笑😃 穿透阳光
    04-01

    延时这个不需要手动关闭

    04-01
    有用
    回复
  • 启年
    启年
    04-01

    不会,需要自己手动清除

    04-01
    有用
    回复 4
    • 十一
      十一
      04-01
      如果不清除会怎么样呢?
      04-01
      回复
    • 启年
      启年
      04-01回复十一
      可能会导致内存泄露或者影响性能,比如你打开一个新页面,onload里边 创建一个定时器,页面关闭但是没有清除这个定时器, 页面关闭了,但是定时器还是存在,如果没有到时间,定时器到时间了也会执行。每次再访问这个新页面,都会创建一个新的定时器。


      既然都这么问了,就尽量不给自己挖坑,记得清掉它
      04-01
      回复
    • 十一
      十一
      05-22
      setTimeout 也要手动清除?
      05-22
      回复
    • 启年
      启年
      发表于小程序端
      05-22回复十一

      为什么不清?

      05-22
      回复
登录 后发表内容