0.1.3 • Published 8 years ago

signals-slots v0.1.3

Weekly downloads
3
License
MIT
Repository
github
Last release
8 years ago

Signals/Slots in JavaScript

SignalJS is a minimalist implementation of signals/slots system in JavaScript.

How to Use

Say I have an app called MyApp, it has two objects MyApp.X and MyApp.Y. Now, MyApp.Y wants to be notified if there are some events happened on MyApp.X. To accomplish this task, I just need the following few steps:

  1. Clone this repo and add signal.js to my HTML

    <script src="path/to/signal.js"></script>
  2. Create a signal and attach it to MyApp namespace, so it can be accessed by both MyApp.X and MyApp.Y

    MyApp.dummySignal = Signal.create('dummySignal');
  3. Connect MyApp.Y to the just created signal

    MyApp.Y.signalHandler = function(sender, data) {
        console.log('Received a dummySignal from sender with data');
    };
    
    MyApp.dummySignal.connect(MyApp.Y.signalHandler, MyApp.Y);
  4. Let MyApp.X send the signal when some event is happened

    MyApp.X.http.get('/data').
        success(function(response) {
            /*
             * Got new data, send signal to notify whomever is connected. In
             * this example, `MyApp.Y.signalHandler` will be called.
             */
            MyApp.dummySignal.emit(MyApp.X, response);
        });
  5. That's it!

Live DEMO