Как правильно использовать MapTo с типами сумм - PullRequest
1 голос
/ 02 октября 2019

Я не уверен, почему ниже не печатается «Это А».

import scala.concurrent.Future
import scala.concurrent.ExecutionContext.Implicits.global

sealed trait Foo
case object A extends Foo
case object B extends Foo

val a = Future.successful(A)

a.mapTo[Foo].map {
  case A => println("it is an A")
  case B => println("it is a B")
}.value.get

Это приводит к следующему:

java.util.NoSuchElementException: None.get
at scala.None$.get(Option.scala:347)
at scala.None$.get(Option.scala:345)
... 31 elided

Я думал, что могу привести A к Foo с mapTo, а затем выполнить анализ случая над ним. Это упрощенная версия проблемы, и программа, над которой я работаю, использует Akka.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...