`title: Service Worker Push 与后台持久化队列``categories: Web 开发/前端/数据管理``keywords: Push API,Service Worker,后台队列,IndexedDB,离线``description: 使用 Push API 接收服务器推送并落入 IndexedDB 后台队列,在用户回到页面时统一处理与持久化,保障离线可靠。`接收与入队self.addEventListener('push', e => { const data = e.data ? e.data.json() : {}; e.waitUntil((async () => { const db = await openDB('push-db', 1); const tx = db.transaction('queue', 'readwrite'); tx.objectStore('queue').put({ id: crypto.randomUUID(), data, ts: Date.now() }); await tx.complete; })()); }); 处理队列页面激活或网络恢复时取出并批量处理,失败重试与限速。

发表评论 取消回复