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!