In an event driven system you often find ideas realized like event busses or queues (which async execution). Those commonly make returning stuff from the end of the line back to the client complicated. You’d somehow need to wait for any async stuff to be done to be able to even have a response somewhere in the system and then find a way to return that response to wherever code is waiting for it. The other option would be to (optionally) not use async code execution.
Commonly you’ll also see people argue that CQRS means you shouldn’t return any information from an event, but if you’re implemententing the whole system you can decide how hard of a guideline you feel that is.
I am aware of the complications, but what i would like to know is what are the techniques and patterns used to response to the client who made the request.