Специально для такого придуманы Service Workers. Но конкретно для описанного примера они избыточны — лишних вычислений следует избегать. Хотя если переформулировать задачу, например: нужно уведомить сервер, что у пользователя локально отработал счётчик — тогда стоит их применять. Важно учитывать, что браузеры накладывают ограничения на их выполнение — не следует ожидать, что счётчик отработает за ожидаемое время, что временные интервалы не растянутся, и что он отработает в принципе. А ещё WebKit до сих пор не поддерживает Service Workers, так что яблочники в пролёте.