Я хотел бы добавить автономную возможность моего приложения.Получение записей из кеша нормально в автономном режиме, но сталкивается с проблемами при добавлении ресурса.Как показано на рисунке ниже, при добавлении ресурса запрос добавляется в очередь, и он также обрабатывается позже, но
- Мне нужно перехватить запрос, значит, я хотел бы вернуть success (200) в исходном запросе, поэтому мойошибка «не удалось получить» будет удалена
- Необходимо обновить кэш, чтобы листинг возвращал гарантированные данные
- Фоновая синхронизация вызывает, но 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'
);
Заранее спасибо