概述Periodic Background Sync 允许在浏览器判断合适时机(如网络可用、设备空闲)周期性触发 `periodicsync` 事件。适合刷新数据与轻量任务。用法/示例const reg = await navigator.serviceWorker.register('/sw.js')
await reg.periodicSync.register('refresh-feed', { minInterval: 24 * 60 * 60 * 1000 })
// sw.js
self.addEventListener('periodicsync', e => {
if (e.tag === 'refresh-feed') e.waitUntil(updateFeed())
})
工程建议设定合理的 `minInterval`,并在任务内部做节流与退避,避免服务器压力。任务需幂等且支持断点续传;记录执行结果与失败用于观测。在不支持环境回退到前台定时或用户触发的刷新。参考与验证MDN:Periodic background sync — https://developer.mozilla.org/docs/Web/API/PeriodicSyncManagerweb.dev:Periodic Background Sync — https://web.dev/articles/periodic-background-sync

发表评论 取消回复