Я новичок в angular (и codding), и мне было интересно, можно ли начать добавлять значения через некоторое время (с setTimeout) в переменную после запуска в html, а затем остановить процесс, нажимая другую кнопку.Вот HTML:
<div>
<span>
<button (click)="addingNumber(5000)">Start adding Number</button>
</span>
<span>
<button (click)="stopAddingNumber()">Stop Adding Number</button>
</span>
</div>
<div>{{actualNumber}}</div>
и вот что я пытаюсь:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-number-add',
templateUrl: './number-add.component.html',
styleUrls: ['./number-add.component.css']
})
export class NumberAdd implements OnInit {
actualNumber = 0;
countActive: boolean;
constructor() { }
ngOnInit() {
}
waitTime(awaitTime: number) {
return new Promise(() => {
setTimeout(() => {
this.actualNumber += 1;
}, awaitTime);
});
}
async addingNumber(time: number) {
this.countActive = true;
while (this.countActive) {
await this.waitTime(time);
}
}
stopAddingNumber() {
this.countActive = false;
}
}
Когда я пробую этот код, он выводит отпечатки 1 и "останавливается" там.