Я использую 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), и это заставляло его пытаться синхронизироваться, даже если это соединение никуда не делось.
Затем я также обнаружил, что при условии, что выдает ошибку из этогоСинхронизировать событие, если это не удалось, он будет повторять синхронизацию.Первоначально я ловил ошибки и просто входил в консоль, но это означало, что синхронизация показала, что она завершена.