Bus for executing queries through their handlers.
Ensures that each query is handled by exactly one handler.
// Register handlerqueryBus.register(GetUserQuery, new GetUserQueryHandler());// Execute queryconst user = await queryBus.execute<User | null>( new GetUserQuery('user-123')); Copy
// Register handlerqueryBus.register(GetUserQuery, new GetUserQueryHandler());// Execute queryconst user = await queryBus.execute<User | null>( new GetUserQuery('user-123'));
Registers a handler for a specific query type.
The type of query
The result type
The query class or identifier
The handler for this query type
queryBus.register( GetUserQuery, new GetUserQueryHandler(repository)); Copy
queryBus.register( GetUserQuery, new GetUserQueryHandler(repository));
Executes a query through its registered handler.
The expected result type
The query to execute
The result from the query handler
Error if no handler is registered for the query
const query = new GetUserQuery('user-123');const user = await queryBus.execute<User | null>(query); Copy
const query = new GetUserQuery('user-123');const user = await queryBus.execute<User | null>(query);
Bus for executing queries through their handlers.
Ensures that each query is handled by exactly one handler.
Example