Z góry nie chodzi mi, o addEventListenera ^^. Chodzi mi o typowego obserwatora, którego zadaniem będzie obserwowanie jednego z pól oraz by reagował na zmianę stanu pola. Próbowałem przez promises, (rób coś, kiedy dostaniesz coś); Czyli:
return validator.getState().then(function(state){
console.log("my State is " + state)});
Niestety dalej zwraca undefined.(nie czeka na zakończenie procesu w obiektcie validator, a natychmiastowo wywołuje metodę getState(), zanim ta klasa ustawi stan).
Owszem, mógłbym "jakieś kocie zabawy" sobie urządzić, bawiąc setInterval i badając stan obiektu co określony czas, ale nie po to został stworzony setInterval. Mógłbym również badać stan metody na wyjściu i jest to rozwiązanie. Ale chciałbym trzymać pewnych wzorców projektowych.
Wiem, że nodeJS pozwala tworzyć własnych emiterów?. Ale, w ten temat jeszcze się nie zagłębiałem.
Drugim rowiązaniem jest MVC. Ale tutaj to jest dla mnie czarna magia xD.
Słyszałem, że w kolejnej wersji standardu JS, ma wejść Observer. Czy istnieje jakieś narzędzie, które to wykorzystuje i implementuje , a zarazem nie jest wielkie (angaluar, backbone etc.), czy bez tego się nie obejdzie :/.
PS: tak wiem, powinna być utworzona osobna klasa Observer by spełnić wzorzec projektowy :).