vue 倒计时结束之后“刷新页面“造成死循环

发布于 2022-09-11 22:17:03 字数 1123 浏览 17 评论 0

//倒计时

countDown() {
  let count = 0;
  let newTime = new Date().getTime();
  let endTimeList = this.actEndTimeList;
  let countDownArr = [];
  endTimeList.forEach(o => {
    let endTime = new Date(o).getTime();
    let obj = null;
    if (endTime - newTime > 0) {
      let time = (endTime - newTime) / 1000;
      let day = parseInt(time / (60 * 60 * 24));
      let hou = parseInt((time % (60 * 60 * 24)) / 3600) + day * 24;
      let min = parseInt(((time % (60 * 60 * 24)) % 3600) / 60);
      let sec = parseInt(((time % (60 * 60 * 24)) % 3600) % 60);
      obj = {
        hou: this.timeFormat(hou),
        min: this.timeFormat(min),
        sec: this.timeFormat(sec)
      };
    } else {
      obj = {
        hou: "00",
        min: "00",
        sec: "00"
      };
      count++;
    }
    countDownArr.push(obj);
  });
  this.countDownList = countDownArr;
  this.interval = setTimeout(this.countDown, 1000);
  if (count == endTimeList.length) {
    if (this.interval) {
      clearTimeout(this.interval);
      //这一块死循环
      this.$router.go(0)
    }
  }
}















如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

木格 2022-09-18 22:17:03

this.$router.go(0) 去掉

素手挽清风 2022-09-18 22:17:03

this.$router.go(0)
这段代码是最根本原因,换一种实现方式

勿忘心安 2022-09-18 22:17:03

吧这个换一下顺序


  if (count == endTimeList.length) {
    if (this.interval) {
      clearTimeout(this.interval);
      //这一块死循环
      this.$router.go(0)
    }
  }
 // 这个放到最下面
  this.interval = setTimeout(this.countDown, 1000);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文