new Dispatcher(…eventTypes)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
eventTypes |
module:base.Dispatcher~EventType |
<repeatable> |
Event types this instance can handle. |
Example
const events = [
// @event module:lib.Klass#run
'run',
// @event module:lib.Klass#ran
'ran',
// @event module:lib.Klass#jump
'jump',
// @event module:lib.Klass#jumped
'jumped',
// @event module:lib.Klass#duck
'duck',
// @event module:lib.Klass#ducked
'ducked',
];
function handleRunJump(evt, data) {
switch (evt) {
case 'run':
case 'jump':
// ...
break;
case 'ran':
// ...
break;
case 'jumped':
// ...
break;
}
function handleDuck(evt, data) {
// ...
}
function handleDucked(evt, data) {
// ...
}
const dispatcher = new Dispatcher(...events);
dispatcher.on('run', handleRunJump)
.on('ran', handleRunJump)
.on('jump', handleRunJump)
.on('jumped', handleRunJump)
.on('duck', handleDuck)
.on('ducked', handleDucked);
dispatcher.fire('jump', jumpData)
.fire('duck', duckData);
// ... more stuff ...
dispatcher.fire('jumped', jumpData)
.fire('ducked', duckData);
Members
-
enabled :boolean
-
Methods
-
fire(eventType, data) → {module:base.Dispatcher}
-
Calls all registered functions for the given eventType.
Parameters:
Name Type Description eventTypemodule:base.Dispatcher~EventType Event type to use.
dataobject Data to pass to each function.
-
off(eventType, func) → {module:base.Dispatcher}
-
Remove all instances of a function registered to an eventType.
Parameters:
Name Type Description eventTypemodule:base.Dispatcher~EventType Event type to disconnect from.
funcmodule:base.Dispatcher~Handler Function to remove.
-
on(eventType, func) → {module:base.Dispatcher}
-
Attach a function to an eventType.
Parameters:
Name Type Description eventTypemodule:base.Dispatcher~EventType Event type to connect with.
funcmodule:base.Dispatcher~Handler Single argument function to call.
Type Definitions
-
EventType
-
-
Handler(eventType, data)
-
Parameters:
Name Type Description eventTypemodule:base.Dispatcher~EventType Event type.
dataobject Event data.