资讯专栏INFORMATION COLUMN

如何在代码运行时判断定时器的状态

ernest.wang / 3963人阅读

摘要:参考问题当前模块只需要一个定时器。但是如果有多个地方调用会出现多个定时器解决方法在启动新的定时器之前判断上一个定时器是否正在运行如果正在运行,就清除正在进行的定时器,再重新开启定时器。在启动定时器之前检测如果定时器不为需要清除定时器

参考:https://stackoverflow.com/que...

问题:当前模块只需要一个定时器。但是如果有多个地方调用getData()会出现多个定时器

  private timer = null;
  private setTimer() {
      this.timer = setTimeout(function () {
        this.getData();
      }.bind(this), 5000);
  }

  getData() {
    http.get("getxxxData", () => {
      //....
      this.setTimer();
    });
  }

解决方法:在启动新的定时器之前判断上一个定时器是否正在运行,如果正在运行,就清除正在进行的定时器,再重新开启定时器。 但遗憾的是, 除了启动或停止计时器之外,没有其他方法可以与计时器交互。

在启动定时器之前检测如果定时器不为null,需要清除定时器
  private timer = null;
  private clearPollTimer() {
    window.clearTimeout(this.timer);
    this.timer = null;
  }

  private setTimer() {
      if (this.timer !== null) {
        this.clearPollTimer();
      }
      this.timer = setTimeout(function () {
        this.getData();
      }.bind(this), 5000);
  }

  getData() {
    http.get("xxxx", () => {
      //....
      this.setTimer();
    });
  }

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/105521.html

相关文章

  • Webpack 热更新机制

    摘要:联想到我在微信小程序上的开发体验,真心觉得如果有热更新机制的话,开发效率要高很多。热更新示例下面通过例子来进一步解释热更新机制。 想必作为前端大佬的你,工作中应该用过 webpack,并且对热更新的特性也有了解。如果没有,当然也没关系。 下面我要讲的,是我对 Webpack 热更新机制的一些认识和理解,不足之处,欢迎指正。 首先: 热更新是啥? 热更新,是指 Hot Module Re...

    mikasa 评论0 收藏0
  • RTOS系列——初识嵌入式实操作系统

    摘要:嵌入式实时操作系统是一个特殊的程序通常称为内核,它可以创建,销毁,控制所有任务。显示处理函数运行过程中,定时器产生中断,系统进入定时器中断程序将传感器标志位置。实时操作系的子系统将再后续持续更新。 ...

    不知名网友 评论0 收藏0
  • 浅谈js防抖和节流

    摘要:防抖和节流严格算起来应该属于性能优化的知识,但实际上遇到的频率相当高,处理不当或者放任不管就容易引起浏览器卡死。 防抖和节流严格算起来应该属于性能优化的知识,但实际上遇到的频率相当高,处理不当或者放任不管就容易引起浏览器卡死。所以还是很有必要早点掌握的。(信我,你看完肯定就懂了) 从滚动条监听的例子说起 先说一个常见的功能,很多网站会提供这么一个按钮:用于返回顶部。showImg(ht...

    opengps 评论0 收藏0
  • 谈谈代码——如何避免写出糟糕if...else语句

    摘要:源码剖析之设计模式鉴赏策略模式小结在这篇文章中笔者和大家分享几个减少的小由于这些都会有一定的限制因此还向大家介绍了几个能够避免写出糟糕的的设计模式并使用观察者模式简单的改进了仲裁者模式的例子 本文首发于数据浮云:https://mp.weixin.qq.com/s?__... 在写代码的日常中,if...else语句是极为常见的.正因其常见性,很多同学在写代码的时候并不会去思考其在目...

    huhud 评论0 收藏0

发表评论

0条评论

ernest.wang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<