Задать вопрос
@Impuls3

Как удалить слушатели событий?

Есть к примеру вот такой код.
class Account {
    constructor(data) {
        this.user = new User();
        this.registerEvents();
        this.logOn({login: this.user.login, password: this.user.password});
        return this;
    }

    registerEvents() {
        this.user.on('loggedOn', () => {
            console.log('Login success!');
        })
        
        this.user.on('friendList', () => {
            //... -- обработал данные, и хочу завершить работу
            this.destruction();
        })

    }    

    logOn(data) {
        this.user.logOn(data);
    }

    destruction() {
        this.user.removeAllListeners();
        this.user.logOff();
        this.user = null;
    }
}


Проблема в том, что после вызова destruction(); Софт все равно слушает события.
Да, я понимаю - можно использовать не .on() a .once() но иногда случается так, что мне несколько раз нужно обработать данные.

Как правильно вообще очистить класс, что бы не было утечек?
  • Вопрос задан
  • 153 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы