DEV Community

Discussion on: Memory leak by anonymous functions

Collapse
 
jwp profile image
John Peters

Why aren't anonymous event handlers destroyed when the view is destroyed? Sounds like a design point issue.

Collapse
 
miketalbot profile image
Mike Talbot ⭐ • Edited

It would be fair to say if the event emitter is destroyed then they are unreachable and are released. If you attach to a global event handler or something that will survive a while, they aren't removed because nothing calls removeListener. It would be true of a non-anonymous listener true I guess.

I'm guessing people aren't working out how to remember the anonymous function to then call removeListener. It's one of those, the sugar is so sweet someone didn't notice the sudden weight gain ;)

Collapse
 
jeevankishore profile image
Jeevan Kishore • Edited

The responsibility is likely delegated to the user to remove listeners when they feel it's time to do so.

I agree with @miketalbot on how people overlook it.