Я использую Workbox, используя плагин фоновой синхронизации . К сожалению, плагин не работает должным образом для моего приложения, которое основано на запросе CORS.
Мое приложение сначала отправляет запрос предварительной проверки параметров, чтобы убедиться, что запрос разрешен, а затем отправляется реальный запрос.
Проблема в том, что, когда я перехожу в автономный режим, предварительный запрос не выполняется и происходит сбой моего приложения, прежде чем мой фактический запрос может быть сохранен в IndexDb и воспроизведен позже.
Как я могу решить это?
В настоящее время я настраиваю фоновую синхронизацию, как это предлагается в документации, но с конечной точкой с несколькими источниками, например так:
const bgSyncPlugin = new workbox.backgroundSync.Plugin('myQueueName', {
maxRetentionTime: 24 * 60 // Retry for max of 24 Hours
});
workbox.routing.registerRoute(
new RegExp("https://my-api.example.com/api/add"),
workbox.strategies.networkOnly({
plugins: [bgSyncPlugin]
}),
'POST'
);
взято отсюда: https://developers.google.com/web/tools/workbox/modules/workbox-background-sync
Интересно, стоит ли мне добавлять OPTIONS
запросы и в IndexDB?
workbox.routing.registerRoute(
new RegExp("https://my-api.example.com/api/add"),
workbox.strategies.networkOnly({
plugins: [bgSyncPlugin]
}),
'OPTIONS'
);
Буду признателен за любую помощь:)