J'ai le code suivant dans mon constructeur:
constructor(){
for (let i = 0; i < 90; i++) {
setTimeout(() => {
this.counter = this.counter - 1;
}, 1000)
}
}
Ce que je veux vraiment, c'est afficher un nombre qui compte à rebours de 90 secondes. En ce moment, il passe de 90 à 0 immédiatement
Une autre solution que j'ai trouvée:
counter: { min: number, sec: number }
startTimer() {
this.counter = { min: 30, sec: 0 } // choose whatever you want
let intervalId = setInterval(() => {
if (this.counter.sec - 1 == -1) {
this.counter.min -= 1;
this.counter.sec = 59
}
else this.counter.sec -= 1
if (this.counter.min === 0 && this.counter.sec == 0) clearInterval(intervalId)
}, 1000)
}
Et dans votre html:
<span>{{counter.min}} : {{counter.sec}}</span>