es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Socket.io: No es posible realizar bucles o utilizar métodos de array en socket.rooms.

Quiero escribir:

socket.on("create-room", (roomID) => socket.room = roomID)

let userSelectedRoom = 'f2eac135-eafd-49e1-adc7-c89351703896';

for(room in socket.rooms){
  if(room === userSelectedRoom) {do_stuff()}
}

No entiendo esto: Map(4), [Set]

console.log(socket.rooms)

Set(4) {
  'zBROv1Lug0XhoQxCAAAB',
  'room1',
  '9e9ecaa6-473a-43a6-9ab7-60ff034ab614',
  '1dc1547c-d265-4d5a-bd3f-9a5d37bf883a'
}

console.log(socket)

...
    rooms: Map(4) {
      '6Otk--hk5SHOVRcrAAAD' => [Set], //socket id 
      'room1' => [Set],
      'f2eac135-eafd-49e1-adc7-c89351703896' => [Set], //este es el id de la sala
      '91fdf074-a1e7-493b-97b9-5a6050095697' => [Set] //este es el id de la sala
    },
...
Tags:  ,

Answer

  1. Avatar for davy.ai

    El Map(4) representa un objeto Map en JavaScript con 4 pares clave-valor. El [Set] representa un objeto Set, que es una colección de valores únicos, utilizado para almacenar los IDs de los sockets o habitaciones en este caso.

    El socket.rooms imprime un Set de 4 IDs que representan las habitaciones en las que se encuentra actualmente el socket.

    El console.log(socket) imprime el objeto socket que incluye una propiedad rooms, representada como un Map con 4 pares clave-valor. Cada clave representa un ID de habitación y su valor correspondiente es un Set de IDs de socket que se encuentran actualmente en la habitación.

Comments are closed.