У меня есть таймер обратного отсчета vue. js следующим образом:
countdownTimer() {
// exit method if it is active
if(this.isCountdownActive == true && this.gameState.round === round) return;
// first time set true
this.isCountdownActive = true
this.countdown = 10;
var downloadTimer = setInterval(() => {
if(this.countdown <= 0){
clearInterval(downloadTimer);
if (this.thisUser.captain) {
console.log("submit turn end")
Store.submitTurnEnd();
this.countdown = 10
}
// On exit interval, restart to false
this.isCountdownActive = false
}
this.countdown -= 1
}, 1000);
},
Я бы сказал, что в 75% случаев он работает идеально, однако в остальные 25% случаев он работает. глюки, так что он передает поворот либо дважды, либо сразу. Как я могу убедиться, что этого не произойдет. Я хотел бы убедиться, что он отправляется только один раз и очищает интервал как можно скорее.
Спасибо за помощь.