Events

Every fundamental ActiveJS construct has a number of built-in Observable events. You can listen to these events by subscribing to the events$ Observable, a property of every fundamental construct.

Units, Systems, Action, and Cluster have a common EventReplay event, it is triggered on a successful manual replay when you call the replay() method.

Units have many Units specific events that let you tap into all the action that's happening on a Unit. Every Unit has some common events like EventUnitDispatch, EventUnitDispatchFail andEventUnitFreeze etc.

ListUnit and DictUnit have even more events specific to them, like EventDictUnitSet, EventListUnitPush or EventListUnitPop etc.

See API referencearrow-up-right for more details.

Listening to events

const theAction = new Action(); // can also be a Unit, System or Cluster

theAction.events$.subscribe(event => {
    // Action, AsyncSystem and Cluster only have one event
    // so filtering is optional
    if(event instanceof EventReplay) {
        console.log('hey, you got replayed');
    }
});

// dispatch a value
theAction.dispatch('order order');
// this won't trigger any event, only Units emit an event on dispatch 

// replay the value
theAction.replay(); // it'll trigger the EventReplay event

Last updated

Was this helpful?