Event Bus — шина событий
Она предназначена для простого взаимодействия базового функционала с остальными скриптами, не привязываясь при этом к верстке и вспомогательным объектам.
Работает по принципу Pub/Sub (Издатель/Подписчик) и построена на Deferred, что позволяет:
Работа с шиной производится через объект EventBus.
/*Подключаем Подписчика №1*/
EventBus.subscribe('event1', function (data) {
console.log('event1:', data);
});
/*Запускаем Издателя*/
EventBus.publish('event1', 'hello World!');
// -> event1:hello World!
/*Подключаем Подписчика №2*/
EventBus.subscribe('event1', function (data) {
console.log(data, 'Let\'s rock');
})
// -> hello World!Let's rock
/*Запускаем Издателя*/
EventBus.publish('event1', 'hello Mars!');
// -> event1:hello Mars!
// -> hello Mars!Let's rock