【问题标题】:Convert CompletableFuture (Java 8) to Future (Scala)将 CompletableFuture (Java 8) 转换为 Future (Scala)
【发布时间】:2020-06-24 22:05:42
【问题描述】:

我想把下面方法的返回类型改成Future[Unit]

def send(data: Array[Byte]): CompletableFuture[Void] = {
  val f:CompletableFuture[Void] = client.send(data)
  f
}

我使用的是 Scala 2.12.1。有什么方便的方法可以将 Java 8 CompletableFuture 转换为 Scala 的 Future

【问题讨论】:

标签: scala java-8


【解决方案1】:

【讨论】:

  • 能否举例说明如何使用该方法?我认为这会有所帮助
  • 你只是打电话吗? scala.compat.java8.FutureConverters.toScala(completionStage)
【解决方案2】:

虽然asker(2017年)提到了2.12,但现在我们有了2.13,转换变得更容易了:

从 Scala 2.13 开始,标准库包括 scala.jdk.FutureConverters,它提供 Java 到 Scala CompletableFuture/Future 的隐式转换:

import scala.jdk.FutureConverters._

val scalaFuture = javaFuture.asScala

Convert a Java Future to a Scala Future

【讨论】:

    猜你喜欢
    • 2019-09-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    • 2017-11-15
    • 2022-01-12
    • 2015-07-30
    • 2019-10-25
    • 2015-04-19
    相关资源
    最近更新 更多