English
Class: D3PBus
Defined in: core/bus.ts:47
Asynchronous bus.
emitnever runs a handler synchronously: delivery happens in a later microtask.- Deliveries start in
emitorder (FIFO). Handlers of one delivery run in subscription order, specific handlers before wildcard ones. - The handler list is snapshotted at delivery time, so (un)subscribing from a handler is safe.
- A failing handler is reported with
console.errorand never prevents the others from running. emitreturns a promise settled once every handler has completed;idle()waits for all in-flight deliveries (including those triggered by handlers).
Constructors
Constructor
ts
new D3PBus(): D3PBus;Returns
D3PBus
Methods
emit()
ts
emit<P>(event, ...args): Promise<void>;Defined in: core/bus.ts:91
Emits an event. Handlers run later, in a microtask, in the order of the emits. The promise is resolved when they all ran.
Type Parameters
P
P
Parameters
event
D3PEvent<P>
args
...P extends void ? [] : [payload: P]
Returns
Promise<void>
hasHandlers()
ts
hasHandlers(event): boolean;Defined in: core/bus.ts:61
Whether anything listens to event (the wildcard handlers do not count).
Parameters
event
symbol
Returns
boolean
idle()
ts
idle(): Promise<void>;Defined in: core/bus.ts:101
Resolves when no delivery is in flight (also covers deliveries emitted by handlers).
Returns
Promise<void>
off()
ts
off<P>(event, handler): void;Defined in: core/bus.ts:75
Removes a handler that was added with on.
Type Parameters
P
P
Parameters
event
D3PEvent<P>
handler
D3PHandler<P>
Returns
void
on()
ts
on<P>(event, handler): D3PUnsubscribe;Defined in: core/bus.ts:53
Calls handler each time event is emitted. Returns the function that removes it.
Type Parameters
P
P
Parameters
event
D3PEvent<P>
handler
D3PHandler<P>
Returns
onAny()
ts
onAny(handler): D3PUnsubscribe;Defined in: core/bus.ts:83
Calls handler for every event of the bus, with its symbol and its payload.
Parameters
handler
Returns
once()
ts
once<P>(event, handler): D3PUnsubscribe;Defined in: core/bus.ts:66
Subscribe once; the handler is removed before its first call.
Type Parameters
P
P
Parameters
event
D3PEvent<P>
handler
D3PHandler<P>