【发布时间】:2019-06-09 00:07:50
【问题描述】:
我通过发送包含其凭据的 socket.io 消息让客户在聊天中进行授权。
我担心的是,有时 Socket.IO 客户端会在授权完成之前触发断开连接事件。当客户端发送身份验证消息并立即断开连接时,可能会发生这种情况。
由于身份验证消息会触发获取 API 的回调,因此它的执行速度总是较慢,并且在触发“断开连接”事件之后,因此应用程序允许某人进行聊天,即使他们已经离开。
有没有办法确保“断开”事件最后被触发?
socket.on('authorize', data => {
checkAuth()
.then(()=> addTochat()) //this resolves after disconnect event is fired
})
socket.on('disconnect', data => {
removeFromChat()
})
【问题讨论】:
-
请提供代码。