Я делаю расширение chrome для личного использования, которое будет рекурсивно вызывать setTimeout. Я хотел бы убедиться, что ни при каких обстоятельствах это расширение не создает несколько цепей setTimeouts.Как я могу обеспечить только одну цепочку рекурсивных setTimeouts?
Я сделал это так, что, когда я нажимаю действие браузера, он вызывает clearTimeout. Тем не менее, я беспокоюсь о том, когда я перезагружу расширение, может быть, старая цепочка тайм-аутов продолжается? И могут быть другие сценарии, о которых я не думаю. Есть ли проверенный и надежный метод предотвращения случайного создания нескольких цепей тайм-аутов?
Похоже, что нет никакого способа перечислить активные JavaScript таймеров: Viewing all the timouts/intervals in javascript?
Можете добавить код? Потому что не совсем ясно, как именно вы «рекурсивно называете» setTimeout. В любом случае, если вы сделаете это в фоновом сценарии страницы, тогда все таймеры будут уничтожены при перезагрузке. Вызывается только сценарий с инъецированным контентом, если вы не перезагружаете веб-страницы. Кроме того, я бы рекомендовал использовать API 'chrome.alarms'. – wOxxOm