Мое окружение
Я использую Pusher-js, который внутренне использует реактивные веб-сокеты для поддержки клиентских соединений.
Чего я хочу достичь
Я хочу закрыть все соединения WebSocket, когда приложение переходит в фоновый режим с переднего плана.
Пока что
Я подписываюсь на реакцию-нативную AppState
API для получения события при переходе приложения из переднего плана в фоновый.В этом обратном вызове я вызываю connection.disconnect()
, чтобы закрыть соединение WebSocket.
Но проблема заключается в обратном вызове события AppState, прежде чем connection.disconnect()
может быть завершено, выполнение JavaScript моего приложения приостановлено (так как это происходитв фоновом режиме), и он завершается только тогда, когда приложение снова выходит на передний план.Следовательно, сокеты никогда не закрываются.
Решения, которые я читаю онлайн
Кажется, что все решения указывают на запуск фоновой задачи или службы для этой простой проблемы.
Final
Существует ли простое решение для закрытия всех соединений WebSocket, когда приложение переходит в фоновый режим в реагирующем, без необходимости включать какие-либо собственные собственные модули, кроме тех, которые предусмотрены в основном реактиве?родной?