Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

385
Vistas
¿Cómo tiene SocketIO eventos genéricos .on() para cualquier evento dado?

Cuando se usa SocketIO, la recepción de cualquier mensaje se realiza de la siguiente manera:

 socket.on("eventname", function() { // Whatever }

Pero "eventname" puede ser literalmente cualquier cadena de texto.

¿Cómo lograron eso? ¿Cómo tienen un detector de eventos para todas y cada una de las cadenas posibles? ¿Agregan detectores de eventos A medida que llegan los mensajes?

Intenté leer el código fuente de SocketIO, pero se me pasó por alto.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

La respuesta se puede encontrar mirando la documentación:

Del código fuente de Socket.IO :

 socket.on(eventName, callback) (inherited from EventEmitter)

Desde aquí :

Internamente, EventEmitter realiza un seguimiento de un objeto llamado this.events que asigna nombres de eventos a matrices de controladores de eventos. Cuando un programa llama al método on con un nombre de evento y un controlador de eventos, EventEmitter agrega el controlador a la matriz para ese nombre de evento.

Básicamente, el socket mantiene un mapa de eventos, codificado por nombre, en una serie de funciones que se llaman cuando se recibe ese evento.

Y si observa la documentación de EventEmitter.on , verá que es bastante tonto: no verifica que no esté agregando la misma función dos veces:

.on() -> Agrega la función de escucha al final de la matriz de escuchas para el evento llamado eventName . No se realizan comprobaciones para ver si el oyente ya se ha agregado. Varias llamadas que pasan la misma combinación de eventName y listener darán como resultado que el listener se agregue y se llame varias veces.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda