Я использовал traverse, чтобы выполнить коллекцию фьючерсов следующим образом:
val result: Future[List[Either[Error, Int]]] = Future.traverse(urls)(foo(_))
Я получаю Future[List[Either[Error, Int]]]
. Как я могу проверить, что одно из этих фьючерсов привело к ошибке?
Я пытался сделать это, но я думаю, что это неправильно, потому что я читаю, что вы не можете заменить переменные на фьючерсы?
val check: Future[Boolean] = result.map{
fut => fut.exists(c => c.isLeft)
}
check.map{
b => b match {
case true => // do something
case false => // do something
}
}