Служебный работник синхронизирует событие немедленно

Я использую Chrome 66.0.3359.181 (64-разрядная версия). Я запускаю следующий код:

navigator.serviceWorker.ready
  .then(sw=>{
    addData('sync-posts',post)
    .then(()=>{
      return sw.sync.register('sync-new-posts');
    })
    .then(()=>{
      var snackbarContainer = document.querySelector('#confirmation-toast');
      const data = {message: 'Your post was saved for syncing!'};
      snackbarContainer.MaterialSnackbar.showSnackbar(data);
    })
    .catch(err=>{
      console.log(err);
    });
  })

Однако, даже если я отключил мой Wi-Fi, он все равно сразу вызывает событие синхронизации.

ОТВЕТ: Я на самом деле понял это, когда писал, но так как я не нашел никого, кто ответил бы на этот тип вопросов И это заняло час или больше из моего времени, я решил в любом случае опубликовать это. У меня был включен сетевой адаптер виртуальной машины (для Docker), и это заставляло его пытаться синхронизироваться, даже если это соединение никуда не делось.

Затем я также обнаружил, что при условии, что я генерировал ошибку из этого события синхронизации, когда оно не удавалось, оно будет повторять синхронизацию. Первоначально я ловил ошибки и просто входил в консоль, но это означало, что синхронизация показала, что она завершена.

0 ответов

Другие вопросы по тегам