How to handle response to the client in Event Driven Architecture ( EDA )

I am wondering how to response to the Client who made the request to the app that uses EDA.
Let’s consider the following diagram:

Client request -> rest api -> command handler -> event handler -> persistence

In this scenario how to handle responses, where and how? any code snippet or Git repo will be helpful.
Thank you in advance.

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.

i like to use broadway as an event bus, and/or telemetry for event handlers depending on needs