如何取消服务工作者的后台同步?

How to cancel background sync in service worker?

如何取消后台同步?例如,当我们在离线时 post 某些东西,然后过一会儿才意识到它是愚蠢的东西,并且想在仍然离线时将其删除。

Background Sync 不为您提供任何内置的离线发布功能。实施它就在你身边。因此,如何存储要在同步事件中重播的请求取决于您。至于怎么取消,就看你的了。

我能想到的最简单的方法是将发布的数据存储在 localStorage(或 IndexedDB 中并注册一个同步请求.在同步请求中,只需重播所有已保存的内容并清理存储。如果取消,只需从存储中清除特定条目,这样同步事件就不会看到它。