socketio 加入房间的问题,为什么要延时才能加入房间。

socket.join(roomid);

let time = setTimeout(function(){
          io.to(roomid).emit('roomMsg',{msgList:io.msg[roomid]})
          clearTimeout(time)
        },1000)
socket.join(roomid);

io.to(roomid).emit('roomMsg',{msgList:io.msg[roomid]})

第二段代码是直接进入房间生效的,但是一刷新,web端监听的这个roomMsg就失效了进了一次房间再进房间才生效,感觉是join未生效就直接io.to(roomid);

第一段代码是直接进入房间和刷新网页都生效,要如何确保是join房间后才执行io.to(roomid)?

阅读 2.6k
1 个回答
socket.join(roomid, callback)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题