У меня есть что-то вроде этого:
if (something) {
init();
} else {
document.addEventListener('CUSTOM_EVENT', init, false);
}
var init = function() {
document.removeEventListener('CUSTOM_EVENT', init, false);
// do stuff
}
Мне нужно добавить какую-то проверку вокруг этого removeEventListener
звонка? Если это так, я мог бы сделать:
var eventAdded = false;
if (something) {
init();
} else {
document.addEventListener('CUSTOM_EVENT', init, false);
eventAdded = true;
}
var init = function() {
if (eventAdded) {
document.removeEventListener('CUSTOM_EVENT', init, false);
}
// do stuff
}
но это выглядит немного не элегантно. Я бы предпочел просто оставить необработанный вызов removeEventListener
, если в этом нет ничего сложного, или сделать что-то, что не требует наличия внешней переменной, если это возможно.