--- displayed_sidebar: servicesSidebar --- import ParameterTypes from "@site/src/components/ParameterTypes" # EventBusService Can keep track of multiple subscribers to different events and run the subscribers when events happen. Events will run asynchronously. ## Implements - [IEventBusService](../interfaces/IEventBusService.mdx) ## Constructors ### constructor `**new EventBusService**(«destructured», config, isSingleton?)` #### Parameters ## Properties `", "description": "", "optional": true, "defaultValue": "", "expandable": false, "children": [] }, { "name": "__container__", "type": "`any`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "__moduleDeclaration__", "type": "`Record`", "description": "", "optional": true, "defaultValue": "", "expandable": false, "children": [] }, { "name": "config_", "type": "[ConfigModule](../types/ConfigModule.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "enqueue_", "type": "Promise<void>", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "logger_", "type": "[Logger](../interfaces/Logger.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "manager_", "type": "EntityManager", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "shouldEnqueuerRun", "type": "`boolean`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "stagedJobService_", "type": "[StagedJobService](StagedJobService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "transactionManager_", "type": "`undefined` \\| EntityManager", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> ## Accessors ### activeManager\_ `Protected get**activeManager_**(): EntityManager` #### Returns EntityManager ___ ### eventBusModuleService\_ `Protected get**eventBusModuleService_**(): [IEventBusModuleService](../interfaces/IEventBusModuleService.mdx)` #### Returns [IEventBusModuleService](../interfaces/IEventBusModuleService.mdx) ## Methods ### atomicPhase\_ `Protected **atomicPhase_**(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. #### Parameters Promise<TResult>", "description": "the transactional work to be done", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "isolationOrErrorHandler", "type": "`IsolationLevel` \\| (`error`: `TError`) => Promise<void \\| TResult>", "description": "the isolation level to be used for the work.", "optional": true, "defaultValue": "", "expandable": false, "children": [] }, { "name": "maybeErrorHandlerOrDontFail", "type": "(`error`: `TError`) => Promise<void \\| TResult>", "description": "Potential error handler", "optional": true, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns Promise<TResult> ___ ### emit `**emit**(data): Promise<void \| [StagedJob](StagedJob.mdx)[]>` Calls all subscribers when an event occurs. #### Parameters #### Returns Promise<void \| [StagedJob](StagedJob.mdx)[]> `**emit**(eventName, data, options?): Promise<void \| [StagedJob](StagedJob.mdx)>` Calls all subscribers when an event occurs. #### Parameters `", "description": "options to add the job with", "optional": true, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns Promise<void \| [StagedJob](StagedJob.mdx)> ___ ### enqueuer\_ `**enqueuer_**(): Promise<void>` #### Returns Promise<void> ___ ### listJobs `Protected **listJobs**(listConfig): Promise<never[] \| [StagedJob](StagedJob.mdx)[]>` #### Parameters #### Returns Promise<never[] \| [StagedJob](StagedJob.mdx)[]> ___ ### shouldRetryTransaction\_ `Protected **shouldRetryTransaction_**(err): boolean` #### Parameters ` \\| ``{ code: string }``", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns `boolean` ___ ### startEnqueuer `**startEnqueuer**(): void` #### Returns `void` ___ ### stopEnqueuer `**stopEnqueuer**(): Promise<void>` #### Returns Promise<void> ___ ### subscribe `**subscribe**(event, subscriber, context?): [EventBusService](EventBusService.mdx)` Adds a function to a list of event subscribers. #### Parameters #### Returns [EventBusService](EventBusService.mdx) ___ ### unsubscribe `**unsubscribe**(event, subscriber, context): [EventBusService](EventBusService.mdx)` Removes function from the list of event subscribers. #### Parameters #### Returns [EventBusService](EventBusService.mdx) ___ ### withTransaction `**withTransaction**(transactionManager?): [EventBusService](EventBusService.mdx)` #### Parameters #### Returns [EventBusService](EventBusService.mdx)