Есть ли способ очистить все таймеры JavaScript одновременно?

public class YourClass {
    public static void main(String[] args) {
        if (args.length > 0 && args[0].equals("a")){
            //...
        }
    }
}
23
задан Wayne Burkett 18 February 2011 в 23:22
поделиться

2 ответа

В javascript нет общей функции, которая позволяла бы очистить все таймеры. Вам нужно будет отслеживать все созданные вами таймеры. Для этого вы можете использовать глобальный массив:

var timers = [];
...
// add a timer to the array
timers.push(setTimeout(someFunc, 1000));
...
// clear all timers in the array
for (var i = 0; i < timers.length; i++)
{
    clearTimeout(timers[i]);
}
24
ответ дан 29 November 2019 в 00:58
поделиться

Возможно, вы захотите рассмотреть возможность использования вместо них таймеров jQuery , которые абстрагируются от многих «уродливых» деталей setTimeout / setInterval и упрощают их использование в вашем коде для таких вещей, как то, что вы описываете.

2
ответ дан 29 November 2019 в 00:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: