API
event.on(name, handler)
Lauscht dauerhaft auf ein Event.
| 1 | event.on('page:ready', (data) => { ... }); |
| Parameter |
Typ |
Beschreibung |
name |
string |
Event-Name — exakter Match, Wildcards (page:*) werden nicht unterstützt |
handler |
function |
Callback-Funktion, erhält den Payload |
event.once(name, handler)
Lauscht einmalig – der Handler wird nach dem ersten Aufruf automatisch entfernt.
| 1 | event.once('project:ready', (data) => { ... }); |
event.off(name, handler)
Entfernt einen spezifischen Listener.
| 1 | const handler = (data) => { ... }; |
| 2 | event.on('page:ready', handler); |
| 3 | event.off('page:ready', handler); |
Die gleiche Handler-Referenz muss übergeben werden – anonyme Funktionen können nicht entfernt werden.
event.emit(name, payload?)
Feuert ein Event. Alle aktiven Listener werden synchron aufgerufen.
| 1 | event.emit('page:ready', { lang: 'de', route: '/privacy/' }); |
| 2 | event.emit('app:stopping'); |
Dokumentiert ein Event optional mit Metadaten. Kein Pflichtaufruf.
| 1 | event.register('page:ready', { |
| 2 | description: 'Seite fertig gerendert, i18n kann übernehmen', |
| 3 | emittedBy: '@xpulse/project', |
| 4 | payload: '{ lang: string, route: string }', |
| 5 | }); |
| Parameter |
Typ |
Beschreibung |
name |
string |
Event-Name |
meta.description |
string |
Was das Event bedeutet |
meta.emittedBy |
string |
Welches Package das Event feuert |
meta.payload |
string |
Payload-Struktur als String |
event.list()
Gibt alle registrierten Events mit Metadaten zurück.
event.listeners(name)
Gibt alle aktiven Listener-Funktionen für ein Event zurück.
| 1 | event.listeners('page:ready'); |
| 2 | |
event.listenerCount(name)
Gibt die Anzahl aktiver Listener für ein Event zurück.
| 1 | event.listenerCount('page:ready'); |
| 2 | |