Лучший способ - вызвать map
на Option
следующим образом:
tryThis.map(_.map(_ => {...}))
Это вызовет функцию, только если Future
вернет Some(x)
.Результат с еще одним Future[Option[U]]
, где U
- это результат вашей функции.
Обратите внимание, что он вернет Future(None)
, если исходный Option
был None
, тогда как filter
будетсгенерировать ошибочное исключение, чтобы они не делали одно и то же.