Observer: Priority Order
by Gary Metzker
HTML
<script src="http://code.gmetzker.com/observerjs/Observer.js"></script>
<input type='button' value='Publish some.event' id='pubButton'>
<div id='out'><h3>Output<h3></div>
JavaScript
$(document).ready(function () {
var ob = new Observer();
ob.subscribe('some.event', function () {
output('Luke has no priority specified but was added first');
});
ob.subscribe('some.event', function () {
output('Yoda has a priority of 10');
}, 10);
ob.subscribe('some.event', function () {
output('Obi has no priority specified');
});
ob.subscribe('some.event', function () {
output('Chewy has the highest priority and will go first - 99');
}, 99);
ob.subscribe('some.event', function () {
output('R2D2 has a priority of 5');
}, 5);
$('#pubButton').on('click', function () {
ob.publish('some.event');
});
function output(value) {
$('#out').append(value + '<br/>');
}
});