1

我需要在后台同步中获取注册请求的数量并将其显示在前面。我使用 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:对不起我的英语。

4

0 回答 0