EventBusService
Can keep track of multiple subscribers to different events and run the subscribers when events happen. Events will run asynchronously.
Implements
Constructors
constructor
**new EventBusService**(«destructured», config, isSingleton?)
Parameters
configanyRequiredisSingletonbooleanRequiredDefault: true
Properties
__configModule__Record<string, unknown>__container__anyRequired__moduleDeclaration__Record<string, unknown>enqueue_Promise<void>Requiredmanager_EntityManagerRequiredshouldEnqueuerRunbooleanRequiredtransactionManager_undefined | EntityManagerRequiredAccessors
activeManager_
Protected get**activeManager_**(): EntityManager
Returns
EntityManager
EntityManagerEntityManagerRequiredeventBusModuleService_
Protected get**eventBusModuleService_**(): [IEventBusModuleService](/references/services/interfaces/IEventBusModuleService)
Returns
Methods
atomicPhase_
Protected **atomicPhase_**<TypeParameter TResult, TypeParameter TError>(work, isolationOrErrorHandler?, maybeErrorHandlerOrDontFail?): Promise<TResult>
Wraps some work within a transactional block. If the service already has a transaction manager attached this will be reused, otherwise a new transaction manager is created.
TResultobjectRequiredTErrorobjectRequiredParameters
work(transactionManager: EntityManager) => Promise<TResult>RequiredisolationOrErrorHandlerIsolationLevel | (error: TError) => Promise<void | TResult>maybeErrorHandlerOrDontFail(error: TError) => Promise<void | TResult>Returns
Promise<TResult>
PromisePromise<TResult>Requiredemit
**emit**<TypeParameter T>(data): Promise<void \| [StagedJob](/references/services/classes/StagedJob)[]>
Calls all subscribers when an event occurs.
TobjectRequiredParameters
Returns
Promise<void | StagedJob[]>
**emit**<TypeParameter T>(eventName, data, options?): Promise<void \| [StagedJob](/references/services/classes/StagedJob)>
Calls all subscribers when an event occurs.
TobjectRequiredParameters
eventNamestringRequireddataTRequiredoptionsRecord<string, unknown>Returns
Promise<void | StagedJob>
enqueuer_
**enqueuer_**(): Promise<void>
Returns
Promise<void>
PromisePromise<void>RequiredlistJobs
Protected **listJobs**(listConfig): Promise<never[] \| [StagedJob](/references/services/classes/StagedJob)[]>
Parameters
Returns
Promise<never[] | StagedJob[]>
shouldRetryTransaction_
Protected **shouldRetryTransaction_**(err): boolean
Parameters
errRecord<string, unknown> | { code: string }RequiredReturns
boolean
booleanbooleanstartEnqueuer
**startEnqueuer**(): void
Returns
void
voidvoidstopEnqueuer
**stopEnqueuer**(): Promise<void>
Returns
Promise<void>
PromisePromise<void>Requiredsubscribe
**subscribe**(event, subscriber, context?): [EventBusService](/references/services/classes/EventBusService)
Adds a function to a list of event subscribers.
Parameters
eventstring | symbolRequiredcontextSubscriberContextReturns
unsubscribe
**unsubscribe**(event, subscriber, context): [EventBusService](/references/services/classes/EventBusService)
Removes function from the list of event subscribers.
Parameters
eventstring | symbolRequiredReturns
withTransaction
**withTransaction**(transactionManager?): [EventBusService](/references/services/classes/EventBusService)
Parameters
transactionManagerEntityManager