# #javascript #reactjs #redirect #firebase-analytics
Вопрос:
Всякий раз, когда местоположение окна изменяется, вызываемые вызовы API отменяются браузером. Я запускаю события аналитики по нажатию кнопки, которая также переходит на поддомен и обновляет страницу, так что теперь есть условие гонки. Иногда событие разрешается, а иногда оно отменяется браузером. Попытался решить эту проблему с помощью сервисного работника. Не синхронизируйте обратные вызовы для отмененных событий. Я нашел следующее возможное решение
- дождитесь разрешения события, прежде чем перенаправлять
- храните в местном хранилище и стреляйте по возвращении обратно
- передайте событие, которое будет запущено в качестве параметра запроса, в поддомен и запустите его там
Есть ли лучшее решение для этого ?
Комментарии:
1. пинг или sendBeacon-это то, что я искал
Ответ №1:
Определите новый компонент аналитики на глобальном уровне, на который не повлияют изменения маршрута.
- Добавьте общую логику в компонент аналитики для получения данных и нажмите API.
- Теперь изменение местоположения любого события компонента / уничтожения не повлияет на отмену вызова API.
- просто нужно нажать на событие, о котором позаботится компонент rest Analytics.
<Provider> -- redux store --> **<Analytics >** - analytics logic , use redux to notify about event or other logic <App></App> - has route and all other logic </provider>
Комментарии:
1. мой вариант использования также включает переход к платежу, который является внешним.
2. пинг или sendBeacon-это то, что я искал