为什么有些人使用scala的Either
或scalaz的\/
而不是使用Future的失败状态来代替scala.concurrent.Future
中的失败?未来[A]与未来[Throwable /A]
那么您如何处理错误,以及如何将呼叫链接到快乐路径上?
更新一些例子:
converting Akka's Future[A] to Future[Either[Exception,A]]
Scalaz Task - the missing documentation 这一个回答了为什么部分,并使用scalaz.EitherT
的链接调用(?这对\/
,那Either
或Try
)暗示,但我不知道是否应该使用Future.failed
,在什么条件下等,以及如何检查失败。
我不确定这是否是普遍的做法,这就是为什么我问。 :)
这可能是一些稍微好一些的例子。 – 2014-12-02 23:30:16