1. 程式人生 > >setTimeout() 與setInterval()

setTimeout() 與setInterval()

setTimeout() 方法用於在指定的毫秒數後呼叫函式或計算表示式。
改變this作用域的三種方法(3s置空):
1.繫結

setTimeout(function () {
                this.$store.dispatch("setErrMsg", '');
            }.bind(this), 3000)//繫結外層的this
  1. 箭頭函式
setTimeout(() =>{
                this.$store.dispatch("setErrMsg", '');
            }, 3000
)
  1. proxy屬性,需要引入jquery
setTimeout($.proxy(function () {
                this.$store.dispatch("setErrMsg", '');
            }, this), 3000)//繫結外層的this

setInterval() 方法可按照指定的週期(以毫秒計)來呼叫函式或計算表示式。 setInterval() 方法會不停地呼叫函式,直到 clearInterval() 被呼叫或視窗被關閉。

if (msg.action == "mainteacherstartvote") {
          this
.voteTimer = setInterval(() => { this.$store.dispatch("voteMethod"); //載入投票結果介面 }, 5000); } } else if (msg.action == "mainteacherendvote") { //結束投票 //關閉5s計時 clearInterval(this.voteTimer); console.log("結束投票"); }