У меня есть приложение Angular 7 с авторизацией на основе JWT. В API время проверки токена установлено на 30 мин. После загрузки приложения я использую обычный setInterval каждые 20 минут, чтобы получить токен fre sh с сервера, чтобы сеанс можно было продолжить.
setInterval(() => {
this.reAuthenticate(true);
}, 60000 * 20);
Я знаю, что интервалы в JS имеют тенденцию к перекосу, однако кажется, что через некоторое время обратный вызов просто прекращает выполнение. Я предполагаю, что браузер зависает сценарий, если вкладка не фокусируется в течение некоторого времени.
Я пытался использовать сервисный работник, чтобы обойти это, и это не сработало. Вероятно, этот вопрос задавался миллион раз - но что мне делать в таких случаях? Я даже готов попробовать использовать решения exoti c (IMHO), такие как веб-сокеты, но это кажется излишним для такого простого действия.