Я работаю с 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'
);