Skip to content
Jayson Harshbarger edited this page Sep 20, 2015 · 1 revision

Creating a signal

The mini-signals module exports the MiniSignal class constructor.

var MiniSignal = require('signals');
var signal = new MiniSignal();

When not using a module loader the mini-signals constructor (MiniSignal) is global.

var signal = new MiniSignal();

Basic Usage

signal.add(onSignal);                 //add listener
signal.dispatch('foo', 'bar');        //dispatch signal passing parameters

function onSignal(foo, bar) {
  assert(foo === 'foo');
  assert(bar === 'bar');
}

Preferred usage

It is preferred to add a mini-signal to an object and set execution context of the listener handler

var myObject = {
  foo: 'bar',
  updated: new MiniSignal()
}

myObject.updated.add(onUpdated.bind(myObject));   //add listener with context

myObject.foo = 'baz';
myObject.updated.dispatch();                 //dispatch signal

function onUpdated() {
  assert(this === myObject);
  assert(this.foo === 'baz');
}

More examples coming

For now please see Comparison between mini signals v1.0 and js signals v1.0