У меня есть код внутри актера
def receive = {
case All() => {
val collection: BSONCollection = db("ping")
val future:Future[List[Ping]] = collection.find(BSONDocument()).cursor[Ping].toList()
val zender = sender
future onComplete {
case Success(list) => zender ! list
case Failure(throwable) => zender ! List()
}
}
}
Мне не нравится, как я должен использовать функцию onComplete, чтобы отправить результат обратно на отправителя. Я хотел бы знать, можно ли преобразовать его в нечто подобное:
def receive = {
case All() => {
val collection: BSONCollection = db("ping")
val future:Future[List[Ping]] = collection.find(BSONDocument()).cursor[Ping].toList()
"sender ! future" // one option
"future.map( list => sender ! list)" //Another option. I know it not map, but maybe another function
}
}
Я чувствую, что это улучшается с будущей цепью.