onDisconnect
类允许您在客户端与数据库服务器断开连接时写入或清除数据。无论您的客户端是否完全断开连接,这些更新都会发生,因此即使连接断开或客户端崩溃,您也可以依靠它们来清理数据。
onDisconnect
类最常用于管理应用程序中的状态,可用于检测连接的客户端数量以及其他客户端何时断开连接。有关详细信息,请参阅在 JavaScript 中启用离线功能。
为了避免在请求传输到数据库服务器之前连接断开时出现问题,应在写入任何数据之前调用这些函数。
请注意, onDisconnect
操作仅触发一次。如果您希望每次断开连接时都执行一个操作,则需要在每次重新连接时重新建立onDisconnect
操作。
签名:
export declare class OnDisconnect
方法
方法 | 修饰符 | 描述 |
---|---|---|
取消() | 取消此位置和所有子级的所有先前排队的onDisconnect() 设置或更新事件。如果在父位置通过set() 或update() 对此位置的写入进行排队,则该位置的写入将被取消,但仍会发生对同级位置的写入。 | |
消除() | 确保当客户端断开连接(由于关闭浏览器、导航到新页面或网络问题)时删除此位置的数据。 | |
设定值) | 确保当客户端断开连接(由于关闭浏览器、导航到新页面或网络问题)时,此位置的数据设置为指定值。 set() 对于实现“存在”系统特别有用,其中当用户断开连接时应更改或清除值,以便他们对其他用户显示为“离线”。有关详细信息,请参阅在 JavaScript 中启用离线功能。请注意, onDisconnect 操作仅触发一次。如果您希望每次断开连接时都执行一个操作,则每次都需要重新建立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
操作仅触发一次。如果您希望每次断开连接时都执行一个操作,则每次都需要重新建立onDisconnect
操作。
签名:
set(value: unknown): Promise<void>;
参数
范围 | 类型 | 描述 |
---|---|---|
价值 | 未知 | 断开连接时要写入此位置的值(可以是对象、数组、字符串、数字、布尔值或 null)。 |
返回:
承诺<无效>
当与数据库的同步完成时解决。
OnDisconnect.setWithPriority()
确保当客户端断开连接(由于关闭浏览器、导航到新页面或网络问题)时,此位置的数据设置为指定的值和优先级。
签名:
setWithPriority(value: unknown, priority: number | string | null): Promise<void>;
参数
范围 | 类型 | 描述 |
---|---|---|
价值 | 未知 | 断开连接时要写入此位置的值(可以是对象、数组、字符串、数字、布尔值或 null)。 |
优先事项 | 数量 |字符串|无效的 | 要写入的优先级(字符串、数字或空)。 |
返回:
承诺<无效>
当与数据库的同步完成时解决。
OnDisconnect.update()
当客户端断开连接时(由于关闭浏览器、导航到新页面或网络问题),在此位置写入多个值。
values
参数包含多个属性-值对,这些属性-值对将一起写入数据库。每个子属性可以是简单属性(例如“name”),也可以是从当前位置到要更新的数据的相对路径(例如“name/first”)。
与set()
方法相反, update()
可用于有选择地仅更新当前位置处引用的属性(而不是替换当前位置处的所有子属性)。
签名:
update(values: object): Promise<void>;
参数
范围 | 类型 | 描述 |
---|---|---|
价值观 | 目的 | 包含多个值的对象。 |
返回:
承诺<无效>
当与数据库的同步完成时解决。