Observable.hasObservers()
is still true after removing all the observers.
To reproduce :
Maybe i’m missing something ?
Observable.hasObservers()
is still true after removing all the observers.
To reproduce :
Maybe i’m missing something ?
To avoid issues when iterating the observers we use setTImeout to remove, but we mark the observers as deleted in case you run it again. This is a simple solution:
Observable.observers | Babylon.js Playground (babylonjs.com)
Oh, and the reason you don’t see the object after opening it is because of how the dev console is working. when you output it, it has a member, but when you open it it doesn’t. Clone the array and you will see the observers there as well.
We discussed with the team and finally concluded it was more a bug than anything else. So we will modify hasObservers
so that it does not take into account deleted observers that would still be in the list: