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.
listener to subscribe
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.
function used to filter events
Rest
...args: Argsfiltered AsyncSubscribable
Create an iterator that supports async iteration of events emitted.
Optional
options: EventIteratorOptionsoptions for this iterator
iterable/iterator
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.
listener to subscribe
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.
listener to unsubscribe
promise that resolves when the listener is unsubscribed
Create a Subscribable that changes the this argument used for listeners.
what should be treated as this for event listeners
modified AsyncSubscribable
Generated using TypeDoc
Function that can be used to asynchronously subscribe, filter and iterate over events. Async subscribables are commonly fetched from an AsyncEvent or manually created using createAsyncSubscribable.
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 OverflowBehavior values.