Klasa onDisconnect
umożliwia zapisywanie i usuwanie danych, gdy klient odłączy się od serwera bazy danych. Aktualizacje te są przeprowadzane niezależnie od tego, czy klient się rozłącza, czy też nie. Dzięki temu możesz mieć pewność, że wyczyścisz dane nawet w przypadku utraty połączenia lub awarii klienta.
Klasa onDisconnect
jest najczęściej używana do zarządzania obecnością w aplikacjach. Przydaje się to do określania, ile klientów jest połączonych i kiedy inne klienty się rozłączają. Więcej informacji znajdziesz w artykule Włączanie funkcji offline w języku JavaScript.
Aby uniknąć problemów z utratą połączenia przed przekazaniem żądań do serwera bazy danych, te funkcje należy wywołać przed zapisaniem danych.
Pamiętaj, że operacje onDisconnect
są uruchamiane tylko raz. Jeśli chcesz, aby operacja była wykonywana przy każdym rozłączeniu, musisz ponownie przeprowadzić operacje onDisconnect
przy każdym połączeniu.
Podpis:
export declare class OnDisconnect
Metody
Metoda | Modyfikatory | Opis |
---|---|---|
cancel() | Anuluje wszystkie ustawione wcześniej zdarzenia onDisconnect() w kolejce lub aktualizacje dla tej lokalizacji i wszystkich jej elementów podrzędnych.Jeśli zapis w tej lokalizacji został umieszczony w kolejce za pomocą set() lub update() w lokalizacji nadrzędnej, zapis w tej lokalizacji zostanie anulowany, chociaż zapisy w lokalizacjach równorzędnych nadal będą miały miejsce. |
|
remove() | Dane z tej lokalizacji są usuwane po rozłączeniu z klientem (z powodu zamknięcia przeglądarki, przejścia na nową stronę lub problemów z siecią). | |
set(value) | Zapewnia, że dane w tej lokalizacji mają podaną wartość, gdy klient jest rozłączony (z powodu zamknięcia przeglądarki, przejścia na nową stronę lub problemów z siecią).Polecenie set() jest szczególnie przydatne do implementowania „obecności” w których wartość powinna zostać zmieniona lub usunięta po rozłączeniu przez użytkownika, tak aby urządzenie było widoczne w trybie offline. innym użytkownikom. Więcej informacji znajdziesz w artykule Włączanie funkcji offline w języku JavaScript.Pamiętaj, że operacje onDisconnect są uruchamiane tylko raz. Jeśli chcesz, aby dana operacja była wykonywana przy każdym rozłączeniu, musisz za każdym razem ponownie wykonywać operacje onDisconnect . |
|
setWithPriority(wartość; priorytet) | Zapewnia, że dane w tej lokalizacji mają określoną wartość i priorytet, gdy klient jest rozłączony (z powodu zamknięcia przeglądarki, przejścia na nową stronę lub problemów z siecią). | |
update(values) | Zapisuje wiele wartości w tej lokalizacji, gdy klient jest rozłączony (z powodu zamknięcia przeglądarki, przejścia na nową stronę lub problemów z siecią).Argument values zawiera wiele par właściwość-wartość, które zostaną razem zapisane w bazie danych. Każda usługa podrzędna może być prostą usługą (np. „name”) lub ścieżką względną (np. „nazwa/pierwsza”) prowadzącą do danych do zaktualizowania w bieżącej lokalizacji.W przeciwieństwie do metody set() za pomocą usługi update() można selektywnie aktualizować tylko wskazane usługi w bieżącej lokalizacji (zamiast zastępować wszystkie właściwości podrzędne w bieżącej lokalizacji). |
OnOdłącz.cancel()
Anuluje wszystkie umieszczone wcześniej w kolejce zdarzenia onDisconnect()
lub zaktualizuj je dla tej lokalizacji i wszystkich jej elementów podrzędnych.
Jeśli zapis dla tej lokalizacji został umieszczony w kolejce za pośrednictwem interfejsu set()
lub update()
w lokalizacji nadrzędnej, zapis w tej lokalizacji zostanie anulowany, ale zapisy w lokalizacjach równorzędnych nadal będą wykonywane.
Podpis:
cancel(): Promise<void>;
Zwroty:
Obietnica<void>
Problem zostaje rozwiązany po zakończeniu synchronizacji z serwerem.
OnOdłącz.remove()
Dane z tej lokalizacji są usuwane po rozłączeniu z klientem (z powodu zamknięcia przeglądarki, przejścia na nową stronę lub problemów z siecią).
Podpis:
remove(): Promise<void>;
Zwroty:
Obietnica<void>
Problem zostaje rozwiązany po zakończeniu synchronizacji z serwerem.
OnOdłącz.set()
Zapewnia, że dane w tej lokalizacji mają podaną wartość, gdy klient jest rozłączony (z powodu zamknięcia przeglądarki, przejścia na nową stronę lub problemów z siecią).
Pole set()
jest szczególnie przydatne do implementowania „obecności” w których wartość powinna zostać zmieniona lub usunięta po rozłączeniu przez użytkownika, tak aby urządzenie było widoczne w trybie offline. innym użytkownikom. Więcej informacji znajdziesz w artykule Włączanie funkcji offline w języku JavaScript.
Pamiętaj, że operacje onDisconnect
są uruchamiane tylko raz. Jeśli chcesz, aby dana operacja była wykonywana przy każdym rozłączeniu, musisz za każdym razem ponownie wykonywać operacje onDisconnect
.
Podpis:
set(value: unknown): Promise<void>;
Parametry
Parametr | Typ | Opis |
---|---|---|
wartość | nieznany | Wartość do zapisania w tej lokalizacji po rozłączeniu (może to być obiekt, tablica, ciąg, liczba, wartość logiczna lub wartość null). |
Zwroty:
Obietnica<void>
Problem rozwiązany po zakończeniu synchronizacji z bazą danych.
OnOdłącz.setWithPriority()
Zapewnia, że dane w tej lokalizacji mają określoną wartość i priorytet, gdy klient jest rozłączony (z powodu zamknięcia przeglądarki, przejścia na nową stronę lub problemów z siecią).
Podpis:
setWithPriority(value: unknown, priority: number | string | null): Promise<void>;
Parametry
Parametr | Typ | Opis |
---|---|---|
wartość | nieznany | Wartość do zapisania w tej lokalizacji po rozłączeniu (może to być obiekt, tablica, ciąg, liczba, wartość logiczna lub wartość null). |
rekrutacja priorytetowa | liczba | ciąg znaków | wartość null | Priorytet do zapisania (ciąg znaków, liczba lub wartość null). |
Zwroty:
Obietnica<void>
Problem rozwiązany po zakończeniu synchronizacji z bazą danych.
OnOdłącz.update()
Zapisuje wiele wartości w tym miejscu, gdy klient jest rozłączony (z powodu zamknięcia przeglądarki, przejścia na nową stronę lub problemów z siecią).
Argument values
zawiera wiele par właściwość-wartość, które zostaną razem zapisane w bazie danych. Każda usługa podrzędna może być prostą usługą (np. „name”) lub ścieżką względną (np. „nazwa/pierwsza”) od bieżącej lokalizacji do danych, które chcesz zaktualizować.
W przeciwieństwie do metody set()
metody update()
może służyć do selektywnej aktualizacji tylko wskazanych właściwości w bieżącej lokalizacji (zamiast zastępowania wszystkich właściwości podrzędnych w bieżącej lokalizacji).
Podpis:
update(values: object): Promise<void>;
Parametry
Parametr | Typ | Opis |
---|---|---|
wartości | Obiekt | Obiekt zawierający wiele wartości. |
Zwroty:
Obietnica<void>
Problem rozwiązany po zakończeniu synchronizacji z bazą danych.