serviceworker в reactjs PWA должен прекратить выполнение функции, когда логическое значение равно true, но продолжает сбрасывать логическое значение

#javascript #reactjs #error-handling #boolean #service-worker

Вопрос:

У меня в сервисе есть код, который проверяет, есть ли веб-сайт в Сети:

 var check = false; setInterval(checkOnline, 60000);  

Этот код каждую минуту проверяет в фоновом режиме, находится ли веб-сайт в сети. Этот код:

 function checkOnline() {  fetch(www.example.com)  .then(response =gt; {    })  .catch(error =gt; { const title = 'hhh';  const options = {  body: 'hhh',  icon: 'images/icon.png',  badge: 'images/badge.png'  };  self.registration.showNotification(title, options)  check = true;  });    }  

Проблема в том, что, когда он устанавливает логическое значение true в этой функции, работник службы снова запускает страницу, и по умолчанию логическое значение имеет значение false, но мне нужно, чтобы оно оставалось истинным, поэтому оно делает что-то только один раз, а не все время, пока код отправляется в ловушку. Как мне решить эту проблему? Я просто хочу, чтобы, если веб-сайт находится в автономном режиме, он показывал уведомление только один раз. Но он продолжает запускать код, поэтому уведомление будет приходить каждую минуту, если веб-сайт находится в автономном режиме. Весь этот код находится в моем сервисе, потому что его нужно проверить, даже если браузер не открыт. Это приложение PWA.