Что происходит с запросом в очереди фоновой синхронизации workbox после того, как логическое значение lastChance равно true?

#service-worker #workbox #background-sync

#service-worker #workbox #фоновая синхронизация

Вопрос:

Я вижу проблему, из-за которой мои запросы удаляются из очереди workbox.backgroundSync.Queue после 3 неудачных запросов. Я также не могу найти надежную документацию об ожидаемом поведении после 3 неудачных запросов синхронизации, когда флаг lastChance установлен в true.

Что должно произойти дальше? Предполагается ли, что запрос останется в очереди и что можно сделать, чтобы в конечном итоге запустить повтор?

Ответ №1:

Запрос будет оставаться в очереди до тех пор, пока не будет достигнуто максимальное время ожидания. смотрите maxRetentionTime

Если для флага lastChance установлено значение true, автоматические повторные попытки прекратятся, но вы можете запустить повторные запросы, отправив сотруднику службы сообщение типа:

 self.addEventListener('message', (event) => {
  if (event.data.type === 'replayQueue') {
    myQueue.replayRequests();
  }
});