Дублирование почтового запроса в фоновой синхронизации - PullRequest
0 голосов
/ 05 июля 2019

Я работаю с workbox инструментом PWA.Я использую background-sync для хранения моего почтового запроса в случае, когда пользователь находится в автономном режиме, и он отправит его на сервер при обнаружении сети.

Это нормально работает, когда я тестирую его в автономном режиме.Но когда пользователь подключен к сети, запрос на отправку отправляется дважды.

Теперь я понимаю, что первый запрос на отправку был отправлен моей исходной выборкой, которая находится в componentDidMount, а другой был отправлен работником службы.Приложение построено на create-react-app платформе

Как я могу предотвратить это?

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

    workbox.routing.registerRoute(
      new RegExp(/.*DataManagement\/SyncUserData/),
      args => {
        const promiseChain = fetch(args.event.request.clone())
          .catch(err => {
            queue.pushRequest({request: args.event.request});
          });
        args.event.waitUntil(promiseChain);
      },
      'POST'
    );
...