我正在使用Angular4中的登录表单。输入3个无效凭据后,我想实施30秒等待(通过禁用按钮)。在接下来的3次无效尝试之后,等待时间将只是加倍,60秒,120秒等等。我初步化了一个计数器,并在每个无效的表单提交中减少它。并使用setTimeInterval,如:
initCounter() {
this.intervalTimer = setInterval(() => {
let count = this.counter;
if (count > 0) {
this.counter = count - 1;
}
}, 1000);
}
但是我无法按预期完成此任务。
希望有人可以帮助我。
答案 0 :(得分:1)
最后,我可以像
那样完成 setLoginCounter(loginForm) {
this.loginCounter += 1;
localStorage.setItem('logCount', this.loginCounter.toString());
if (this.loginCounter % 3 === 0) {
this.counter = 30 * (Math.pow(2, (this.loginCounter / 3) - 1));
}
}