收藏
回答

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

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


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

5 个回答

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

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

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

    不用清除

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

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

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

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

    延时这个不需要手动关闭

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

    不会,需要自己手动清除

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


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

      为什么不清?

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