我看到CompletableFuture
有一个方法handle
是相同阶Future
的handle
基本上转换成功和例外所有成功是map
和flatMap
上游的(或在java世界中的thenApply
和thenCompose
)。在Java中,什么是twitter未来rescue
(或者scala未来recoverWith
)的等价物?什么是Java CompletableFuture等效阶未来援救的和处理
rescue
在斯卡拉基本上就像老的java try....catch
,然后重新抛出更多的信息,所以它可以很好用。例如,在twitterFuture.handle
或scalaFuture.recover
返回单位是U
,因此您返回响应。在twitterFuture.rescue
或scalaFuture.recoverWith
,它返回Future[U]
所以可以采取一定的例外情况,添加更多的信息,并返回Future.exception(xxxxx)
我没有在Scala的API文档中看到任何叫做'rescue'的东西,你的意思是['recover'](http://www.scala-lang.org/api/current/index.html#scala.concurrent.Future @recover [U%3E:T](pf:PartialFunction [Throwable,U])(implicitexecutor:scala.concurrent.ExecutionContext):scala.concurrent.Future [U])(尽管这更像'try/catch' '尝试/ finally')? – kennytm
@kennytm http://twitter.github.io/util/docs/#com.twitter.util.Future –