Есть к примеру вот такой код.
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() но иногда случается так, что мне несколько раз нужно обработать данные.
Как правильно вообще очистить класс, что бы не было утечек?