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