У меня есть метод, который запускает setInterval, который вычисляет число (счетчик) каждую секунду, основываясь на заданном значении.У меня также есть метод, который останавливает интервал.
Однако, когда заданное значение является массивом, оно прекращает вычислять только последнее значение массива ... все остальные значения продолжают работать.
class Helpers {
static interval: number[];
static filtered: [];
static start(value: Vehicle): void {
Helpers.interval = setInterval(value.calculateSpeed, 1000, value);
}
static stop() {
clearInterval(Helpers.interval);
}
static iterateArray() {
for (let i = 0; i < Helpers.filtered.length; i++) {
Helpers.start(Helpers.filtered[i]);
}
}
static iterateStop() {
for (let i=0; i < Helpers.filtered.length; i++) {
Helpers.stop();
}
}
}
<button onclick="Helpers.iterateArray()">Start</button>
<button onclick="Helpers.iterateStop()">Stop</button>
Метод stop () работает, если в значении только 1 элемент: Vehicle - если есть больше, останавливается только последний элемент.Последний метод (iterateStop ()) был моей последней глупой попыткой решить эту проблему.
Любая помощь будет принята с благодарностью!