【发布时间】:2017-10-25 17:59:18
【问题描述】:
如何构造一个既要产生副作用又要返回值的函数? 例如我想要以下函数:
def futureFromHttpCall: Future[HttpResponse] =
doHttpCall.foreach(publishDomainEvent).returnOriginalFuture
(不知何故,我觉得单子会出现,所以如果那是我对猫有点熟悉的路径,如果那里有解决这个问题的方法?)
【问题讨论】:
-
你想要做一些副作用作为未来返回的结果,然后返回相同的未来?
-
是的就是这样
-
而
publishDomainEvent是我假设的Unit返回方法? -
是的,例如actorSystem.eventStream.publish(SessionCreated)
标签: scala monads scala-cats