在vue中啟用、清除timeout的寫法不同,如果clearInterval沒有加上window,就不會停止。

setTimeout可以直接使用:

this.timeout = setTimeout(() => {
    console.log('一小時後要做的事');
}, 1000 * 60 * 60);
clearTimeout(this.timeout);

setInterval要加上window.

this.timeOutRefresh = window.setInterval(() => {
    console.log('每五秒要做的事');
}, 5000);
window.clearInterval(vm.timeOutRefresh);

全部code:

methods: {
    cleanTimeOut() {
      let vm = this;
      clearTimeout(vm.timeOutProcessId);
      window.clearInterval(vm.timeOutRefresh);
    },
    setTimeoutFun() {
      let vm = this;
      this.timeOutProcessId = setTimeout(() => {
        console.log('一小時後要做的事');
      }, 1000 * 60 * 60);
      this.timeOutRefresh = window.setInterval(() => {
        console.log('每五秒要做的事');
      }, 5000);
    },  
}

1+
0 回復

發表評論

想要加入討論嗎?
請盡情發表您的想法!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。