handle to the subscription, can be used to unsubscribe. Resolves when the subscription is fully registered
Create a subscribable that will apply the specified filter to any listeners added.
filtered AsyncSubscribable
Create an iterator that supports async iteration of events emitted.
iterable/iterator
Get a promise that will resolve the first time this event is fired after this call.
promise that resolves the next time the event is fired
Subscribe to this event using the given listener. The listener will be invoked any time the event is emitted. The returned handle can be used to unsubscribe.
promise with handle to the subscription, can be used to unsubscribe. Resolves when the subscription is fully registered
Unsubscribe a listener from this handler. The specified listener will no longer be invoked when the event is emitted.
promise that resolves when the listener is unsubscribed
Create a Subscribable that changes the this argument used for listeners.
modified AsyncSubscribable
Generated using TypeDoc
Subscribe to this event using the given listener. The listener will be invoked any time the event is emitted. The returned handle can be used to unsubscribe.
Subscribing and unsubscribing
Async subscribables are functions that allow them to be called directly to subscribe to the event:
It is also possible to subscribe/unsubscribe a listener using methods on the subscribable:
Filtering
Async subscribables may be filtered to create an instance that only emits certain events:
Listening to something once
Listening for a single event may be done via once which returns a promise:
Async iteration of events
Async subscribables can also be used with an async iterator to allow for event loops:
With default values:
Sometimes events are emitted faster than they can be consumed, limiting and controlling overflow of events can be done via iterator.
As an example this will limit to 10 queued events and then start dropping the earliest ones:
The behavior to use when the queue is full can be controlled by setting the overflow behavior using one of the {@link OverflowBehavior} values.