У меня есть список фьючерсов, и я хочу, чтобы первый из них был завершен с определенным условием. Вот пример возможного кода:
val futureList: Future[List[T]] = l map (c => c.functionWithFuture())
val data = for {
c <- futureList
}yield c
data onSuccess {
case x => (x filter (d=> d.condition)).head
}
Но это неэффективно, потому что я возьму только один элемент списка, но вычислю их все с большой задержкой.
Я знаю firstCompletedOf
, но это не то, что я ищу.
(Извините за мой плохой английский.)