javascript websockets - controla a conexão inicial / quando o onOpen fica vinculado

Duas perguntas relacionadas que podem estar mais enraizadas na minha falta de conhecimento de como / se os navegadores pré-analisam o javascript:

var ws = new WebSocket("ws://ws.my.url.com");
ws.onOpen = function() { ... };

Parece não haver maneira de controlar diretamente a inicialização de umWebSocket, além de agrupá-lo em um retorno de chamada, presumo que a conexão seja criada assim que o código javascript for carregado e chegue ao construtor?

Quando oonOpen propriedade apega-se aws? Existe a possibilidade de uma condição de corrida (se por algum motivo você tiver algum código entre a definição do soquete e a definição deonOpen?) de modo aonOpen está indecisavelmente vinculado antes / depois da conexão ser estabelecida (eu sei que você pode opcionalmente verificarws.readyState). Além disso, o handshake do WebSocket está bloqueando?

Percebo que é tudo um rascunho no momento, possivelmente dependente da implementação e posso ter perdido algo óbvio, mas não pude ver nada de particular pertinente em minhas pesquisas na Internet / vasculhei o rascunho da especificação w3c, portanto, qualquer ajuda no meu entendimento do funcionamento interno do websockets / javascript é muito apreciado!

questionAnswers(4)

yourAnswerToTheQuestion