Фоновая синхронизация рабочего ящика CORS - PullRequest
0 голосов
/ 07 сентября 2018

Я использую 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'
    );

Буду признателен за любую помощь:)

...