Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

método on() da variável socket escutando a dois eventos

Bom dia Alberto, tudo bem?

Então, é possível que o método on() da variável socket consiga escutar a dois eventos, disparados no back-end?

<script>
    var socket = io();
    socket.on('evento1', 'evento2', function() {
        //corpo da função
    });
</script>
4 respostas
solução!

Leonart, não é possível fazer isso em uma única linha.

Porém, é fácil o suficiente. Se você quer que a função executada seja a mesma, basta declará-la separadamente:

<script>
  var funcaoDeResposta = function() {
    // corpo da funcao
  };
  var socket = io();
  socket.on('evento1', funcaoDeResposta);
  socket.on('evento2', funcaoDeResposta);
</script>

Marco,

Obrigado pela resposta (:

A API de cliente do socket.io só aceita um nome de evento por vez.

Para ter o mesmo listener pra mais de um evento você pode extrair o código para uma function expression (função nomeada):

function tratadorDosEventos(dados) {
        //corpo da função
}
var socket = io();
socket.on('evento1', tratadorDosEventos);
socket.on('evento2', tratadorDosEventos);

Dat lag! ^^