Sobes.tech
Middle+

O que acontece ao subscrever novamente o mesmo manipulador? Como irá mudar a ordem das chamadas?

sobes.tech IA

Resposta da IA

Ao subscrever novamente a um mesmo gestor (por exemplo, num sistema de eventos ou em eventos DOM em JavaScript), geralmente adiciona esse gestor à lista de ouvintes mais uma vez. Isso significa que, quando o evento ocorrer, o gestor será chamado tantas vezes quanto foi subscrito.

A ordem das chamadas não muda: os gestores são chamados na ordem em que foram adicionados. Se o mesmo gestor for adicionado várias vezes, será chamado várias vezes consecutivas nos locais onde foi adicionado.

Exemplo em JavaScript:

const button = document.querySelector('button');
function handler() {
  console.log('Clicked');
}

button.addEventListener('click', handler);
button.addEventListener('click', handler);

// Ao clicar, o console exibirá:
// Clicked
// Clicked

Para evitar assinaturas repetidas, geralmente verifica-se se o gestor já está inscrito antes de adicioná-lo, ou usa-se métodos que não adicionam duplicados (por exemplo, once ou removendo o gestor antes de adicioná-lo novamente).