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

181
Vistas
¿Cómo manejar todos los errores de WebSocket sin una carrera?

Cuando ejecuto código

 var ws = new WebSocket("wss://mydomain.example/socket/service"); ws.addEventListener("error", function (error) { console.error("Got error=", error); });

¿Es posible que la conexión WebSocket falle (emita error ) antes de que pueda adjuntar el detector de eventos para el evento de error ?

Mirando la documentación https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/WebSocket No puedo ver este detalle documentado en ninguna parte.

De acuerdo con la especificación WHATWG , parece que el constructor debe ejecutar la solicitud en paralelo . ¿Hay alguna garantía de que pueda adjuntar el detector de errores antes de que surjan posibles errores?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El constructor de WebSocket se ejecuta sin sincronización de ningún tipo y la conexión puede encontrar un error antes de la línea con ws.addEventListener("error", ...); ¡es ejecutado! Sin embargo, esto no es un problema porque la especificación también dice que, en caso de error, el evento de error real se activa como parte de los pasos que deben ponerse en cola como una tarea. En la práctica, esto significa que, lógicamente, se requiere que el constructor de WebSocket se comporte como si fuera a ejecutar una función anónima con cero tiempo de espera que activa el evento de error .

Por lo tanto, el error real puede ocurrir antes de que el código JS pueda adjuntar el detector de eventos, pero todos los eventos ( open , close , error , message ) solo se pueden activar con retraso después de que se ejecute el bucle de eventos la próxima vez, por lo que el código anterior siempre tendrá tiempo. adjunte los controladores de eventos antes de que se puedan activar los eventos.

Consulte https://github.com/whatwg/websockets/issues/13#issuecomment-1039442142 para obtener más detalles.

about 4 years ago · Juan Pablo Isaza 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