爲什麼有些人使用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