сбой запроса синхронизации офлайн - PullRequest
0 голосов
/ 28 июня 2019

Я хотел бы добавить автономную возможность моего приложения.Получение записей из кеша нормально в автономном режиме, но сталкивается с проблемами при добавлении ресурса.Как показано на рисунке ниже, при добавлении ресурса запрос добавляется в очередь, и он также обрабатывается позже, но

  1. Мне нужно перехватить запрос, значит, я хотел бы вернуть success (200) в исходном запросе, поэтому мойошибка «не удалось получить» будет удалена
  2. Необходимо обновить кэш, чтобы листинг возвращал гарантированные данные
  3. Фоновая синхронизация вызывает, но API не добавляет новый ресурс, возможно, что-то не хватает
importScripts(  'https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js');

if (workbox) {
  console.log(`Yay! Workbox is loaded ?`);
} else {
  console.log(`Boo! Workbox didn't load ?`);
}

const showNotification = () => {
  // eslint-disable-next-line no-restricted-globals
  workbox.registration.showNotification('Background sync success!', {
    body: '?`?`?`'
  });
};

const bgSyncPlugin = new workbox.backgroundSync.Plugin('todoQueue', {
  maxRetentionTime: 1,
  callbacks: {
    queueDidReplay: showNotification
  },
});

workbox.routing.registerRoute(
  /\.(?:js|css|html)$/,
  workbox.strategies.networkFirst()
);

workbox.routing.registerRoute(
  'http://localhost:3000',
  workbox.strategies.networkFirst()
);

workbox.routing.registerRoute(
  new RegExp('http://localhost:1337/api/(.)*'),
  workbox.strategies.networkFirst({
  }),
  'GET'
);

workbox.routing.registerRoute(
  new RegExp('http://localhost:1337/api/(.)*'),
  workbox.strategies.networkFirst({
    plugins: [bgSyncPlugin]
  }),
  'POST'
);

request dedbug Заранее спасибо

...