app切到后台,js会被暂停

550 阅读1分钟

移动端,倒计时功能 不要用 + 1 的方式,因为如果切到后台,js会被暂停。所以最好用 Date

let aa = new Date().getTime()
this.setEndTime = (new Date()).setTime(aa + 1000 * 60) // 倒计时一分钟
setTimeCode()

setTimeCode() {
      let that = this;
      let aa = setTimeout(function () {
        let et = that.setEndTime
        let nT = new Date().getTime()
        let bb = parseInt((et - nT) / 1000)
        that.codeTip = bb;
        clearTimeout(aa);
        if (bb > 0) {
          that.setTimeCode();
        } else {
          // 结束倒计时
        }
      }, 1000);
    },