Workbox后台同步不会创建队列

时间:2018-09-17 07:24:31

标签: service-worker workbox

尝试使用工作箱为脱机请求排队。

问题1-拥有此代码(从google文档复制)

const bgSyncPlugin = new workbox.backgroundSync.Plugin('queName', {
    maxRetentionTime: 24 * 60 // Retry for max of 24 Hours
});

workbox.routing.registerRoute(
  app_url,
  workbox.strategies.networkOnly({
    plugins: [bgSyncPlugin]
  }),
  'POST'
);

脱机时,URL请求失败,并且未在indexDB中创建队列。

问题2- 拥有此代码-

const queue = new workbox.backgroundSync.Queue('myQueueName');

self.addEventListener('fetch', (event) => {
  // Clone the request to ensure it's save to read when
  // adding to the Queue.
  const promiseChain = fetch(event.request.clone())
  .catch((err) => {
      return queue.addRequest(event.request);
  });

  event.waitUntil(promiseChain);
});

它确实在indexDB上创建了一个队列,但是请求已发送两次。一次来自缓存,一次来自原始请求。

我应该从哪里开始检查问题所在?

0 个答案:

没有答案