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 を切断しても、すぐに同期イベントがトリガーされます。
ANSWER: 私はこれを書いている間に実際にこれを理解しましたが、この種の質問に答えてくれる人を他に見つけられず、1 時間ほど時間がかかったので、とにかく投稿しようと思いました. (Docker用に)VMネットワークアダプターを有効にしていたため、その接続が役に立たなかったにもかかわらず、同期を試みていました。
次に、失敗したときにその同期イベントからエラーをスローしていた場合、同期を再試行することも発見しました。もともと私はエラーをキャッチしてコンソールに記録していましたが、これは同期が完了したと見なしたことを意味していました。