无法解决方法成功。使用Future [Unit]时的情况

时间:2017-12-07 20:59:11

标签: scala future

我试图在Future中执行一些代码,这些代码将一些数据保存到REST端点,后者本身会进行数据库调用。我试图在未来执行它,因此它不会阻止其他代码,这可能是时间敏感的。我不太关心未来代码中发生的事情是否成功,所以我试图执行Future [Unit]。但是,当我尝试编写以下代码时,IntelliJ强调我的Success(_)

  

无法解决方法success.unapply

这是我的代码:

def persistProgress():Unit = {
    val result:Future[Unit] = Future {
      //API Rest Call here with a case class
    }
    result.onComplete {
      case Success (_) => // do nothing if successful
      case Failure(e) => logger.info("Unable to persist" + e.getMessage)
    }

}

知道怎么做吗?

2 个答案:

答案 0 :(得分:1)

你确定你得到了适当的进口吗?特别是SuccessFailure来自Try,即scala.util.Successscala.util.Failure。使用正确导入的代码似乎正常,因为您可以看到here

答案 1 :(得分:0)

您可能在代码中两次导入了Success,从而使对成功的引用不明确。 就我而言,我已在以下两行中导入:

import akka.actor.Status.Success
import scala.util.Success

只需尝试运行您的代码,该错误将有助于调试。