Abstract
This module provides a class to manage callbacks . Use it in Classes to support setting callbacks .
Contents
Meta
File | callbacks.js |
Abstract | This module provides a class to manage callbacks . Use it in Classes to support setting callbacks . |
Author | Volker Böhm |
Copyright | Copyright ( c ) 2020 Volker Böhm |
License | This software is licensed under the GNU LESSER GENERAL PUBLIC LICENSE Version 3 . It is furnished "as is" , without any support , and with no warranty , express or implied , as to its usefulness for any purpose . |
Class Callbacks
new Callbacks(supportedEvents)
Creates a callback manager to manage callbacks and safely call them
Example
callbacks = new Callbacks(['publish'])
// register a callback
callbacks.on('publish', (param) => { console.log('called publish with ' + param) })
// invoke a callback
callbacks.invokeCallback('publish', 'a parameter')
Callbacks Parameters
Name | Type | Description |
---|---|---|
supportedEvents |
Array.<string> |
Names of supported callbacks ( if undefined or null , all callbacks are allowed ) . Use this to prevent a user from registering callbacks with "on" that are not used by your class . |
Callbacks Methods
hasCallback
hasCallback (name) => {boolean}
Checks , if a callback is registered
hasCallback Parameters
Name | Type | Description |
---|---|---|
name |
string |
name of the callback to look for |
hasCallback returns
Type | Description |
---|---|
boolean |
true , if the callback is registered |
invokeCallback
invokeCallback (event, param) => {any}
Calles a callback stored to an event , if registered
invokeCallback Parameters
Name | Type | Attribute | Description |
---|---|---|---|
event |
string |
event name ( not case sensitive ) for callback | |
param |
any |
repeatable | parameters to pass to the callback |
invokeCallback returns
Type | Description |
---|---|
any |
the result of the callback or null , if the callback is not defined |
invokeCallbackAsync
async invokeCallbackAsync (event, param) => {any}
Callcs a callback stored to an event , if registered . It is the async version
invokeCallbackAsync Parameters
Name | Type | Attribute | Description |
---|---|---|---|
event |
string |
event name ( not case sensitive ) for callback | |
param |
any |
repeatable | parameters to pass to the callback |
invokeCallbackAsync returns
Type | Description |
---|---|
any |
the result of the callback or null , if the callback is not defined |
on
on (event, callback)
Sets a callback .
on Parameters
Name | Type | Description |
---|---|---|
event |
string |
event name ( not case sensitive ) for the callback |
callback |
function |
function ( . . . parameter ) |
on throws
Type | Description |
---|---|
Error |
if the event is not supported |
Error |
if the callback is not 'function' |