Если вы хотите убедиться, что это разрешимо, возможно, вы можете сделать dataSets.foreach
непосредственно внутри Future
. Примерно так:
class OurActor extends Actor {
override def receive: Receive = {
case SomeMessage => {
...
context.system.actorSelection("path/to/other/actor").resolveOne().map { actorRef =>
dataSets.foreach(_.foreach(actorRef ! _))
}
}
}
}
Это означает, что оператор dataSets.foreach
будет выполняться асинхронно. Вам нужно быть осторожным, если dataSets
изменчив, поскольку все будет работать в разных потоках. Кроме того, Future
может завершиться ошибкой, поэтому вы можете также учитывать этот сценарий.