HTML and CSS Reference
In-Depth Information
observe: observe,
hasObserver: hasObserver,
notify: notify
};
}());
The current observable implementation is a little limited in that it only keeps
a single list of observers. This means that in order to observe more than one
event, observers have to determine what event occurred based on heuristics on
the data they receive. We will refactor the observable to group observers by event
names. Event names are arbitrary strings that the observable may use at its own
discretion.
11.7.1 Supporting Events in
observe
To support events, the
observe
method now needs to accept a string argument
in addition to the function argument. The new
observe
will take the event as its
first argument. As we already have several tests calling the
observe
method, we
can start by updating the test case. Add a string as first argument to any call to
observe
as seen in Listing 11.42.
Listing 11.42
Updating calls to
observe
TestCase("ObservableAddObserverTest", {
/* ... */
"test should store functions": function () {
/* ... */
this.observable.observe("event", observers[0]);
this.observable.observe("event", observers[1]);
/* ... */
},
/* ... *
});
TestCase("ObservableNotifyObserversTest", {
/* ... */
"test should call all observers": function () {