socket.io如何作为判断是否监听

vue前端触发一个事件需要监听一个消息
比如新开一个房间,监听人员的加入

socket.on('join',(man)=>{
    this.manArr.push(man)
}

为确保由于原socket断开导致的无监听,每次触发事件后都开启监听,但这就会导致可能出现重复监听,造成监听结果的重复,比如新加入一个小王,结果是

小王 加入了
小王 加入了

第三次就变成

小王 加入了
小王 加入了
小王 加入了

这里想问 如果判断这个 join已经处于监听状态呢。

if(!监听){
    监听
}

阅读 5.2k
2 个回答

已找到答案,判断socket对象是否包含元素
例如监听的是notify则:
if(user.socket._callbacks.$notify){
...

房间内的用户应该在server进行一份维护。
每当用户进入时,若用户不存,则为新加入用户,可进行通知;否则,则不用通知。
另外,用户连接应该有一个连接超时断开的机制。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题