AsyncEventsBase<EventMap>
Async event source implementation.
Import:
import { AsyncEventsBase } from 'obsidian-dev-utils/async-events';Example:
// Untyped (default) — any event name, any args:const events = new AsyncEvents();events.on('my-event', (arg1: string) => { ... });
// Typed — only declared events with correct args:interface MyEventMap { save: [data: string]; load: [id: number, force: boolean];}const events = new AsyncEvents<MyEventMap>();events.on('save', (data) => { ... }); // data: string — autocomplete on event nameevents.on('load', (id, force) => { ... }); // id: number, force: booleanSignature:
export class AsyncEventsBase<EventMap extends EventMapConstraint<EventMap> = EventMapBase> implements AsyncEventSource<EventMap>Implements: AsyncEventSource<EventMap>
Properties
| Property | Type | Description |
|---|---|---|
| [ASYNC_EVENT_MAP]? | EventMap | Phantom marker that makes EventMap inferable from an AsyncEventSource (e.g. via Source extends AsyncEventSource<infer EventMap>). Never present at runtime.(Inherited from AsyncEventSource) |
| eventRefsMap | Map<string, AsyncEventRef[]> | The registry mapping each event name to its list of registered listener references. |
Methods
| Method | Returns | Description |
|---|---|---|
| off(name, callback) | void | Remove an event listener. |
| offref(eventRef) | void | Remove an event listener by reference. |
| on(name, callback, thisArg?) | AsyncEventRef | Add an event listener. |
| once(name, callback, thisArg?) | AsyncEventRef | Add an event listener that will be triggered only once. |
| trigger(name, args?) | void | Trigger an event, executing all the listeners in order even if some of them throw an error. |
| triggerAsync(name, args?) | Promise<void> | Trigger an event asynchronously, executing all the listeners in order even if some of them throw an error. |
| tryTrigger(eventRef, args) | void | Try to trigger an event, executing all the listeners in order even if some of them throw an error. |
| tryTriggerAsync(eventRef, args) | Promise<void> | Try to trigger an event asynchronously, executing all the listeners in order even if some of them throw an error. |
Links to this page: