PubSub Channel Test
by Jason Butz
HTML
<script src="//cdn.jsdelivr.net/bluebird/3.4.6/bluebird.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/pubsub-js/1.5.3/pubsub.min.js"></script>
JavaScript
function doOutput(channel, data) {
$('body').append(`<p>${channel}.${data}</p>`);
}
Promise.resolve()
.then(() => {
PubSub.subscribe('a', (channel) => doOutput(channel, '1'));
PubSub.subscribe('a.b', (channel) => doOutput(channel, '2'));
PubSub.subscribe('a.b.', (channel) => doOutput(channel, '3'));
PubSub.subscribe('a.b.c', (channel) => doOutput(channel, '4'));
return Promise.resolve();
})
.delay(250)
.then(() => {
PubSub.publish('a.b.c', null);
return Promise.resolve();
})
.delay(250)
.then(() => {
$('body').append('<p>NOW UNSUBSCRIBING FROM a.b</p>');
PubSub.unsubscribe('a.b');
return Promise.resolve();
})
.delay(250)
.then(() => {
PubSub.publish('a.b.c', null);
return Promise.resolve();
});