observe-js CompoundObserver
Testing CompoundObserver of ObjectObservers
HTML
<script src="https://cdn.rawgit.com/Polymer/observe-js/0.5.5/src/observe.js"></script>
<p>If everything is working, you'll see two notifications below (one from each observer).</p>
<pre id="log"></pre>
CSS
#log {
white-space: pre-wrap;
margin-top: 1em;
}
body {
padding: 1em;
}
JavaScript
console = {
log: function log(str) {
document.getElementById('log').textContent += str + '\n';
}
};
var obj = { a: 1 };
console.log("Setting up observers.");
var objectObs = new ObjectObserver(obj);
objectObs.open(function () {
console.log(" √ ObjectObserver notified");
});
obj.a = 12;
var compoundObs = new CompoundObserver();
compoundObs.addObserver(new ObjectObserver(obj));
compoundObs.open(function () {
console.log(" √ CompoundObserver notified");
});
console.log("Modifying object.");
obj.a = 3;
console.log("Delivering ObjectObserver...");
objectObs.deliver();
console.log("Delivering CompoundObserver...");
compoundObs.deliver();
console.log("Closing observers.");
compoundObs.close();
objectObs.close();
console.log("Done.");