PubSubJS de Morgan Roderick é uma ótima biblioteca de mensagens / eventos para Javascript. Baseado no padrão Publisher / Subscriber como o nome mostra, é livre de dependências e realmente muito fácil de usar.
Para ouvir mensagens, basta ligar
PubSub.subscribe('message name', function(messageName, eventArgs) { });
e para publicar uma mensagem:
PubSub.publish('message name', args);
No entanto, minha parte favorita desta biblioteca é o suporte para endereçamento hierárquico. Digamos que você tenha uma classe javascript chamada Document
. Agora, digamos que você decida que cada mensagem publicada pela Document
classe terá o prefixo document
. Então, textChanged
se torna document.textChanged
e assim por diante.
Agora, no PubSubJS, você pode se inscrever na document.textChanged
mensagem ou até mesmo se inscrever em todas as mensagens apenas se inscrevendo em document
. Isso funciona para vários níveis de hierarquia, portanto, você pode optar por publicar todas as ações em document.actions
e os assinantes podem ouvir todas as mensagens de ação possíveis assinando apenas document.actions
.
Excelente trabalho de Morgan Roderick. Obrigado cara!