Как закрыть соединения Websocket при переходе приложения с переднего плана на задний план (реагировать на нативный)? - PullRequest
0 голосов
/ 28 января 2019

Мое окружение

Я использую Pusher-js, который внутренне использует реактивные веб-сокеты для поддержки клиентских соединений.

Чего я хочу достичь

Я хочу закрыть все соединения WebSocket, когда приложение переходит в фоновый режим с переднего плана.

Пока что

Я подписываюсь на реакцию-нативную AppState API для получения события при переходе приложения из переднего плана в фоновый.В этом обратном вызове я вызываю connection.disconnect(), чтобы закрыть соединение WebSocket.

Но проблема заключается в обратном вызове события AppState, прежде чем connection.disconnect() может быть завершено, выполнение JavaScript моего приложения приостановлено (так как это происходитв фоновом режиме), и он завершается только тогда, когда приложение снова выходит на передний план.Следовательно, сокеты никогда не закрываются.

Решения, которые я читаю онлайн

Кажется, что все решения указывают на запуск фоновой задачи или службы для этой простой проблемы.

Final

Существует ли простое решение для закрытия всех соединений WebSocket, когда приложение переходит в фоновый режим в реагирующем, без необходимости включать какие-либо собственные собственные модули, кроме тех, которые предусмотрены в основном реактиве?родной?

...