假设我有一个可以在几毫秒内完成汇款的 Saga。我有 REST 控制器,它调用触发 Saga 的命令。如何等待 Saga 结束以检查结果或异常以让我的控制器作为响应返回?如果它只是一个不会触发 Saga 的单独命令,我可以使用命令网关和回调来通知我成功或失败。
更新:
在 Saga 结束后,我能够让我的控制器返回响应:
1) 我的控制器方法返回一个 DeferredResult 我保存到地图中
2) 我的控制器有一个事件处理程序,它侦听结束事件,从地图中检索 DeferredResult,并设置结果
有没有更好的方法来解决这个问题?