Scala / Error Akka Future onComplete Compiler Error

I have an actor who is waiting for results in the future. Calling onComplete of the future causes a compiler error:

error: constructor cannot be created for the expected type [scalac] found: akka.actor.Status.Success Required [scalac]: scala.util.Try [Iterable [Any]] [scalac] case Success (result: List [PCBInstanceStats] ) => {[scalac] ^

The actor receives:

case "pcbStatus" => {
      val future = Future.traverse(context.children)(x => {
        (x ? "reportStatus")(5 seconds)
      })

      future.onComplete {
        case Success(result: List[PCBInstanceStats]) => {
          self ! result
        }
      }

Not sure how to provide the correct type of parameter for this.

+4
source share
1 answer
[scalac] found : akka.actor.Status.Success 

, Success akka.actor.Status.Success, scala.util.Success. , , akka.

akka.actor.Status.Success, , , , .

import scala.util.{Success => ScalaSuccess}

future.onComplete {
  case ScalaSuccess(result) => ...
  // or
  case scala.util.Success(result) => ...
}
+11

Source: https://habr.com/ru/post/1535770/


All Articles