我需要在后台同步中获取注册请求的数量并将其显示在前面。我使用 vue3 和 vue-pwa (workbox v4)。我像这样在自定义服务工作者中使用后台同步:
const bgSyncPlugin = new workbox.backgroundSync.Plugin(BG_SYNC_NAME, {
maxRetentionTime: BG_SYNC_TIME,
onSync: async ({ queue }) => {
let entry = undefined
while ((entry = await queue.shiftRequest())) {
try {
await fetch(entry.request)
console.log('Request successful for request', entry.request)
} catch (error) {
console.error('Replay failed for request', error)
await queue.unshiftRequest(entry)
throw error
}
}
console.log('[SW] Replay completed')
}
})
workbox.routing.registerRoute(
new RegExp(`${API_URL}(.*)`),
new workbox.strategies.NetworkOnly({
plugins: [bgSyncPlugin]
}),
'POST'
)
我如何根据请求注册/删除请求捕获事件?P/s:对不起我的英语。