Firebase ostatnio dodał obsługę dwóch nowych metod statycznych dla każdego klienta, Firebase.goOffline()
i Firebase.goOnline()
, które umożliwiają ręczne rozłączanie i ponowne łączenie się z aplikacją.
Od https://www.firebase.com/docs/javascript/firebase/gooffline.html:
ręcznie odłączyć Firebase klienta z serwerem i wyłączyć automatycznego ponownego łączenia.
Klient Firebase automatycznie utrzymuje stałe połączenie z serwerem Firebase o numerze , który pozostanie aktywny przez czas nieokreślony, a ponownie się połączy. Jednak metody goOffline() i goOnline() mogą być używane do ręcznego kontrolowania połączenia klienta w przypadkach, gdy połączenie trwałe jest niepożądane.
W trybie offline klient Firebase nie będzie już otrzymywać aktualizacji danych z serwera. Jednak wszystkie operacje Firebase wykonywane lokalnie będą kontynuowały natychmiastowe wywoływanie zdarzeń, dzięki czemu aplikacja będzie mogła kontynuować normalną pracę. Ponadto każda operacja wykonywana lokalnie będzie automatycznie umieszczana w kolejce i ponawiana po ponownym połączeniu z serwerem Firebase pod numerem .
Aby ponownie połączyć się z serwerem Firebase i rozpocząć odbieranie zdarzeń zdalnych, zobacz goOnline(). Po ponownym nawiązaniu połączenia klient Firebase prześle odpowiednie dane i wystrzeli odpowiednie zdarzenia, aby Twój klient "automatycznie podciął" się.
Uwaga: Wywołanie tej metody wpłynie na wszystkie połączenia Firebase.
Aby uzyskać więcej informacji, zobacz Firebase.goOffline() i Firebase.goOnline().
Jaki jest faktyczny problem, który próbujesz rozwiązać? – Kato
@Kato oczywistym przypadkiem użycia, który wydaje się pasować do tego problemu, byłoby zamknięcie połączenia Firebase w aplikacji jednostronicowej, aby uniknąć niepotrzebnego korzystania z przepustowości po przejściu użytkownika z części witryny korzystającej z Firebase. –