onDisconnect
クラスを使用すると、クライアントがデータベース サーバーから接続を解除したときに、データの書き込みやクリアを行うことができます。これらの更新はクライアントが正常に接続を解除したかどうかにかかわらず行われるため、接続が失われた場合やクライアントがクラッシュした場合でもデータが確実にクリーンアップされます。
onDisconnect
クラスは、アプリケーション内のプレゼンスを管理するために最も一般的に使用され、接続されているクライアントの数や他のクライアントが切断されるタイミングを検出するのに役立ちます。詳しくは、JavaScript でのオフライン機能の有効化をご覧ください。
リクエストをデータベース サーバーに転送する前に接続が切断された場合の問題を回避するには、データを書き込む前にこれらの関数を呼び出す必要があります。
onDisconnect
オペレーションは 1 回だけトリガーされます。切断が発生するたびにオペレーションが発生するようにするには、再接続するたびに onDisconnect
オペレーションを再確立する必要があります。
署名:
export declare class OnDisconnect
メソッド
メソッド | 修飾キー | 説明 |
---|---|---|
cancel() | このロケーションとすべての子に対して以前にキューに入れられた onDisconnect() 設定イベントまたは更新イベントをすべてキャンセルします。親ロケーションの set() または update() によってこの場所への書き込みがキューに追加されている場合、このロケーションへの書き込みはキャンセルされますが、兄弟ロケーションへの書き込みは引き続き行われます。 |
|
remove() | クライアントの接続が解除されたとき(ブラウザを閉じた、新しいページに移動した、またはネットワークに問題があるため)に、この場所にあるデータが削除されるようにします。 | |
set(value) | クライアントの接続が解除されたとき(ブラウザを閉じたとき、新しいページに移動する、ネットワークの問題などにより)に、この場所のデータが指定された値に設定されます。set() は「プレゼンス」を実装する場合に特に有用です。ユーザーが接続を解除したときに値を変更またはクリアして「オフライン」と表示するようにする必要があるシステム。公開できます。詳しくは、JavaScript でのオフライン機能の有効化をご覧ください。onDisconnect オペレーションは 1 回だけトリガーされます。切断が発生するたびにオペレーションを発生させるには、毎回 onDisconnect オペレーションを再確立する必要があります。 |
|
setWithPriority(値, 優先度) | クライアントの接続が解除されたとき(ブラウザを閉じたとき、新しいページに移動したとき、ネットワークの問題が原因で)に、この場所のデータが指定された値と優先度に設定されます。 | |
update(values) | クライアントの接続が解除されたとき(ブラウザを閉じる、新しいページに移動する、またはネットワークの問題が原因で)複数の値をこの場所に書き込みます。values 引数には、データベースに一緒に書き込まれる複数のプロパティと値のペアが含まれます。各子プロパティは、シンプルなプロパティ(「name」など)か、更新するデータへの現在の場所からの相対パス(「name/first」など)のいずれかです。set() メソッドとは対照的に、update() を使用すると、(現在の場所にあるすべての子プロパティを置き換えるのではなく)現在の場所にある参照プロパティのみを選択的に更新できます。 |
OnDisconnect.cancel()
この場所とすべての子について、以前にキューに入れられた onDisconnect()
の設定イベントまたは更新イベントをすべてキャンセルします。
親ロケーションの set()
または update()
を介してこのロケーションへの書き込みがキューに追加されている場合、このロケーションへの書き込みはキャンセルされますが、兄弟ロケーションへの書き込みは引き続き行われます。
署名:
cancel(): Promise<void>;
戻り値:
約束 <void>
サーバーとの同期が完了したときに解決します。
OnDisconnect.remove()
クライアントの接続が解除されたとき(ブラウザを閉じた、新しいページに移動した、またはネットワークに問題があるため)に、この場所にあるデータが削除されるようにします。
署名:
remove(): Promise<void>;
戻り値:
約束 <void>
サーバーとの同期が完了したときに解決します。
OnDisconnect.set()
クライアントの接続が解除されたとき(ブラウザを閉じたとき、新しいページに移動したとき、ネットワークの問題が原因で)に、この場所のデータが指定された値に設定されます。
set()
は「プレゼンス」を実装する場合に特に便利です。ユーザーが接続を解除したときに値を変更またはクリアして「オフライン」と表示するようにする必要があるシステム。公開できます。詳しくは、JavaScript でのオフライン機能の有効化をご覧ください。
onDisconnect
オペレーションは 1 回だけトリガーされます。切断が発生するたびにオペレーションを発生させるには、毎回 onDisconnect
オペレーションを再確立する必要があります。
署名:
set(value: unknown): Promise<void>;
パラメータ
パラメータ | 型 | 説明 |
---|---|---|
値 | 不明 | 切断時にこの場所に書き込まれる値(オブジェクト、配列、文字列、数値、ブール値、null のいずれか)。 |
戻り値:
約束 <void>
データベースへの同期が完了したときに解決します。
OnDisconnect.setWithPriority()
クライアントの接続が解除されたとき(ブラウザを閉じたとき、新しいページに移動したとき、ネットワークの問題が原因で)に、この場所のデータが指定された値と優先度に設定されます。
署名:
setWithPriority(value: unknown, priority: number | string | null): Promise<void>;
パラメータ
パラメータ | 型 | 説明 |
---|---|---|
値 | 不明 | 切断時にこの場所に書き込まれる値(オブジェクト、配列、文字列、数値、ブール値、null のいずれか)。 |
priority | 数値 |文字列 |null | 書き込まれる優先度(文字列、数値、または null)。 |
戻り値:
約束 <void>
データベースへの同期が完了したときに解決します。
OnDisconnect.update()
クライアントが接続されていないとき(ブラウザを閉じたとき、新しいページに移動したとき、またはネットワークの問題が原因で)に、この場所に複数の値を書き込みます。
values
引数には、データベースに一緒に書き込まれる複数のプロパティと値のペアが含まれます。子プロパティには、単純なプロパティ(「name」など)か、現在の場所から更新するデータへの相対パス(「name/first」など)を指定できます。
set()
メソッドとは対照的に、update()
を使用すると(現在の位置にあるすべての子プロパティを置き換えるのではなく)現在の位置にある参照されているプロパティのみを選択的に更新できます。
署名:
update(values: object): Promise<void>;
パラメータ
パラメータ | 型 | 説明 |
---|---|---|
values | オブジェクト | 複数の値を含むオブジェクト。 |
戻り値:
約束 <void>
データベースへの同期が完了したときに解決します。