我正在使用 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);
});
})
然而,即使我断开了我的 wifi,它仍然会立即触发同步事件。
回答:我实际上是在写它的时候想出来的,但是由于我没有找到其他人回答这类问题,而且我花了一个小时左右的时间,我想我还是会发布它。我启用了一个 VM 网络适配器(用于 Docker),这导致它尝试同步,即使该连接没有任何用处。
然后我还发现,如果我在同步事件失败时抛出错误,它会重试同步。最初我发现错误并只是登录到控制台,但这意味着同步认为它已完成。