OnDisconnect 编辑文档

离线事件是云端与客户端断开连接时自动触发的事件。
断开连接包括客户端主动断开连接,或者意外的网络中断。触发事件即执行特定的数据操作,它支持离线写入,更新和删除数据方法。详细使用请参考:完整指南-离线功能

方法

set

当客户端断开连接(例如:关闭浏览器、跳转到一个新的页面、本地的网络问题等)后写入数据,此操作会先清空指定节点再写入新的数据。

定义

set(value)

参数
参数名 说明
value Object
Array
String
Number
Boolean
null
连接中断后写入当前位置的值。
返回值

wilddog.Promise<Void>

示例
var disconnectRef = wilddog.sync().ref("disconnectMessage");
disconnectRef.onDisconnect().set('I disconnected!')
.then(function(){
console.info('disconnect operation has been executed.');
})
.catch(function(err){
console.info('disconnect operation is failed.');
});

注意:


onDisconnect() 设置的离线操作只会触发一次。

如需每次离线时都执行 set() 方法,则需要 监听连接状态,在连接建立成功后都通过 onDisconnect().set() 设置想要执行的写入操作。


update

定义

update(value)

说明

当客户端断开连接(例如:关闭浏览器、跳转到一个新的页面、本地的网络问题等)后更新指定子节点。

参数
参数名 说明
value Object 类型
包含要写入当前位置子节点的集合。
返回值

wilddog.Promise<Void>

示例
var disconnectRef = wilddog.sync().ref("disconnectMessage");
disconnectRef.onDisconnect().update({"message":'I disconnected!'})
.then(function(){
console.info('disconnect operation has been executed.');
})
.catch(function(err){
console.info('disconnect operation is failed.');
});

注意:


onDisconnect() 设置的离线操作只会触发一次。

如需每次离线时都执行 update() 方法,则需要 监听连接状态,在连接建立成功后都通过 onDisconnect().update() 设置想要执行的更新操作。


remove

定义

remove()

说明

当客户端断开连接(例如:关闭浏览器、跳转到一个新的页面、本地的网络问题等)后移除当前节点的数据。

返回值

wilddog.Promise<Void>

示例
var disconnectRef = wilddog.sync().ref("disconnectMessage");
disconnectRef.onDisconnect().remove()
.then(function(){
console.info('disconnect operation has been executed.');
})
.catch(function(err){
console.info('disconnect operation is failed.');
});

注意:


onDisconnect() 设置的离线操作只会触发一次。

如需每次离线时都执行 remove() 方法,则需要 监听连接状态,在连接建立成功后都通过 onDisconnect().remove() 设置想要执行的删除操作。


setWithPriority

当客户端断开连接后(关闭浏览器、跳转到一个新的页面、本地的网络问题等),指定的数据和其优先级会被写入当前位置。

定义

setWithPriority(value, priority)

说明

当客户端断开连接(例如:关闭浏览器、跳转到一个新的页面、本地的网络问题等)后更新指定子节点。

参数
参数名 说明
value Object
String
Number
Boolean
null
将被写入的值。
priority String
Number(non-null)
优先级数据,节点的优先级是默认排序的依据。
返回值

wilddog.Promise<Void>

示例
var disconnectRef = wilddog.sync().ref("disconnectMessage");
disconnectRef.onDisconnect().setWithPriority('I disconnected', 10)
.then(function(){
console.info('disconnect operation has been executed.');
})
.catch(function(err){
console.info('disconnect operation is failed.');
});

注意:


onDisconnect() 设置的离线操作只会触发一次。如果你想在每次断线时都执行 setWithPriority() 方法,需要在每次 监听 连接建立成功后都通过 onDisconnect().setWithPriority() 设置想要执行的写入操作。


cancel

定义

cancel()

说明

取消所有未生效的离线事件。

返回值

Void

示例
var disconnectRef = wilddog.sync().ref("disconnectMessage");
// 之前所有注册在该节点下的离线事件都将取消
disconnectRef.onDisconnect().cancel();
野狗新手?
立即注册,为你提供安全可靠的实时通信云服务。
没找到需要的文档?
你可以提交工单反馈 或 阅读常见问题
期待收到你的反馈,帮助我们改进文档。
参与调研