Kas notiks, ja vēlreiz abonēsieties uz to pašu apstrādātāju? Kā mainīsies izsaukumu secība?
sobes.tech AI
Atbilde no AI
Atkārtoti piesakoties pie tā paša apstrādātāja (piemēram, JavaScript notikumu sistēmā vai DOM notikumos) parasti šis apstrādātājs tiek vēlreiz pievienots klausītāju sarakstam. Tas nozīmē, ka, notiekot notikumam, apstrādātājs tiks izsaukts tik reižu, cik reizes tas ir reģistrēts.
Izsaukumu kārtība nemainās: apstrādātāji tiek izsaukti to pievienošanas secībā. Ja tas pats apstrādātājs ir pievienots vairākas reizes, tas tiks izsaukts vairākas reizes pēc kārtas tajās vietās, kur tas tika pievienots.
JavaScript piemērs:
const button = document.querySelector('button');
function handler() {
console.log('Clicked');
}
button.addEventListener('click', handler);
button.addEventListener('click', handler);
// Noklikšķinot, konsolē parādīsies:
// Clicked
// Clicked
Lai izvairītos no dublētām reģistrācijām, parasti pārbauda, vai apstrādātājs jau ir reģistrēts, pirms to pievienot, vai izmanto metodes, kas neievieš dublikātus (piemēram, once vai apstrādātāja noņemšanu pirms tā atkārtotas pievienošanas).